<style>


/*! 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, body {
		overscroll-behavior: none;
	}
	
	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;
    	padding-top: 80px;
	}
	
	.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;
		padding:8px 12px;
		color:#fff;
		background-color:#222;
		text-decoration:none;
		font-weight:500;
		line-height:105%;
		border:none;
		border-radius: 40px;
	}
	
	.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;
	}

	/* Collapsible Form */

	.collapsible{
		background-color: #f1f1f1;
		cursor: pointer;
		padding: 10px;
		width: 200px;
		text-align: center;
		border: 1px solid #ccc;
		transition: background-color 0.3s ease;
	  }
  
	  .collapsible:hover{
		background-color: #ddd;
	  }
  
	  .content-form{
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s ease;
		margin-top: 20px;
	  }
  
	  .content-form p{
		padding: 10px;
	  }

	/* -------- header -------- */
	#header_banner{
		background: #37aae1;
		background: linear-gradient(45deg, #37aae1, #25a7e5);
		width: 100%;
		text-align: center;
		padding: 12px 0;
	}

	#header_banner p{
		padding: 0 10px;
		color: #fff;
		font-size: 15px;
	}
	
	#header{
		position:relative;
		background-color:#fff;
		/*box-shadow:0 0 8px rgba(0,0,0,0.1);*/
		z-index:900;
		position: fixed;
		width: 1920px;
		max-width: 100%;
		top: 0;
		min-height: 80px;
		display: flex;
		align-items: center;
	}
	
	#header .header_top .get_quote,
	#header .header_bot .get_quote{
		display:inline-block;
		padding:8px 12px;
		background-color:#005698;
		color:#fff;
		text-decoration:none;
		border-radius:4px;
		font-size:0.8em;
		font-weight:700;
		line-height:100%;
    	text-align: center;
		border-radius: 30px;
	}
	
	#header .header_top{
		display:flex;
		justify-content:space-between;
		padding:16px;
    width: 100%;
	}
	
	#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 4px;
	}
  
  		
	#header .header_top .top_right .phone{
    color: #005698;
    font-weight: 700;
    text-decoration: none;
    margin: 0 10px 0 0;
    font-size: 14px;
    text-align: center;
    line-height: 100%;
  }
	
	#header .header_top .logo{
		display:inline-block;
	}
	
	#header .header_top .logo img{
		width:128px;
		height:auto;
		vertical-align:middle;
	}

	#header .header_top .logo.logo-15-years img{
		width: 160px;
		margin-top: -20px;
		margin-bottom: -20px;
	}
	
	#header .header_top .get_quote{
		font-size: 12px;
	}
	
	#header .header_top .nav_button{
		display:inline-block;
		padding:8px;
		margin:0 0 0 4px;
	}
	
	#header .header_top .nav_button img{
		width:18px;
		height:auto;
		vertical-align:middle;
	}
		
	#header .header_bot{
		background-color:#f9f9f9;
		display:none;
	}
	
	#header.open{
		position: relative;
		margin-top: -80px;
	}
	
	#header.open .header_bot{
    display: block;
    width: 100%;
    position: absolute;
    background: #fff;
    top: 70px;
    text-align: right;
	}

	#header.open .header_bot > ul{
		box-shadow: 0 30px 20px #00000057;
	}
	
	#header.open .header_bot > ul > li.phone_wrap{
		display: block;
		text-align: right;
	}
	
	#header.open .header_bot > ul > li a{
		font-size: 18px;
		font-weight: 500;
		margin-top: 2px;
		margin-bottom: 2px;
		padding-top: 4px;
		padding-bottom: 4px;
	}

	#header.open .header_bot > ul > li.phone_wrap,
	#header.open .header_bot > ul > li.get_quote_wrap{
		display: none;
	}
	
	#header.open .header_bot > ul > li.phone_wrap a{
		margin: 10px 0 0;
	}

	#header.open .header_bot > ul > li.get_quote_wrap a{
		padding: 12px 15px;
	}

	#header .header_bot > ul > li.create_package_wrap a{
		font-size: 12px;
		font-size: 14px;
		padding: 9px 20px 10px;
	}
	
	#header .header_bot .get_quote_wrap{
		padding:8px 16px 16px 16px;
	}

	#header .header_bot .phone{
		color:#005698;
		font-weight:700;
	}

	#header .header_bot ul{
		padding:0;
		margin:0;
	}

	#header .header_bot > ul{
		padding: 30px 30px 50px 30px;
	}

	#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.phone_wrap{
		display: flex;
		align-items: center;
	}
			
	#header .header_bot > ul > li > a{
		padding: 8px 16px;
		font-size: 16px;
		font-weight: 500;
	}
		
	
	#header .header_bot > ul > li > ul > li > a{
		padding: 14px 18px;
		transition-duration: .2s;
	}
		
	#header .header_bot > ul > li > ul > li > a:hover{
		background-color:#005698;
		color:#fff;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul{
        display: none;
		flex-wrap: nowrap;
	}
	
	#header .header_bot > ul > li.has_dropdown.nav-products:hover ul{
		display: block;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np1{
		min-width: 220px;
		background: #fff;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np1 .npb{
		display: none;
        width: 200px;
        height: 2px;
        margin: 12px 0;
        background: #dfdfdf;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np1 .npb-im a{
        display: flex;
        flex-wrap: wrap;
        align-items: center;
		justify-content: end;
		flex-direction: row-reverse;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np1 .npb-im a img{
		display: block;
		width: 30px;
		height: 30px;
		margin-left: 10px;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np2{
        min-width: 120px;
		display: flex;
		flex-wrap: wrap;
		padding-bottom: 10px;
		margin-bottom: 12px;
		border-bottom: 2px solid #dadada;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np2 li{
		flex: 0 32.33%;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np2 li a {
		transition-duration: .2s;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np2 li a:hover{
	
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul h3{
		font-size: 16px;
		font-weight: 500;
		color: #c7c7c7;
		margin: 0 0 10px;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul li a{
		display: block;
		padding: 5px 2px;
		transition-duration: ;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul li a:hover{
		color: #005698;
	}



	

	
	/* -------- 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{
		font-weight:500;
		font-size:1.1em;
		line-height:130%;
	}
	
	#basic_page .panel_maxwidth{
		max-width:1280px;
	}
	
	#basic_page figure img{
		width:auto;
		height:auto;
		max-width:100%;
		max-height:768px;
	}
	
	#basic_page h1,
	#basic_page h2,
	#basic_page h3,
	#basic_page h4{
		color:#005698;
	}
	
	#basic_page p,
	#basic_page ul li,
	#basic_page ol li{
		
	}
	
	/* -------- home -------- */
	
	#home_feature{
		position:relative;
		display:flex;
		align-items:center;
		background-color:#37aae1;
		color:#fff;
		min-height:320px;
		overflow: hidden;
	}
	
	#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;
		background-color: #eee;
	}
	
	#home_feature .bg.bg_video{
		display: block;
		width:100%;
		height:100%;
		object-fit:cover;
		min-width: 100px;
		min-height: 100px;
	}

	
	#home_feature iframe.bg_video_iframe{
		position: absolute;
		top: 50%;
		left: 50%;
		
		width: 177.78vh; /* 16:9 ratio */
		height: auto;
	
		min-width: 100%;
		min-height: 100%;
	
		transform: translate(-50%, -50%);
		border: 0;
	}
	
	#home_feature .fg{
		width:100%;
		z-index:20;
	}
	
	#home_feature .panel_maxwidth{
		display:flex;
		width:80%;
	}
	

	#home_feature .fg .image{
		display:none;
	}
	
	#home_feature .h1{
		position:absolute;
		left:-9000px;
	}
	
	#home_feature .headline{
		font-size:1.8em;
		line-height:105%;
		margin:0 0 12px 0;
		max-width: 350px;
		font-weight: 500;
        text-shadow: 2px 2px 10px rgba(0, 0, 0, .3);
	}
	
	#home_feature .subline{
		color:#dff5ff;
		font-size:1.1em;
		font-weight:500;
		line-height:120%;
	}
	
	#home_feature .action{
		margin:12px 0 0 0;
	}


	#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;
		display: flex;
		flex-direction: column;
		gap: 40px;
	}
	
	#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 .brands-partners-items{
		margin-top: 40px;
		max-height: 250px;
		overflow: hidden;
	}

	#panel_brands .brands-partners-items .item{
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		padding: 20px;
	}
	
	#panel_brands .brands-partners-items .item img{
		display: block;
		width: 100%;
		height: 130px;
		max-width: 160px;
		object-fit: contain;
	}

	#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 .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;
		border-radius: 15px;
		overflow: hidden;
		box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
	}
	
	#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.evcharge{
		background-color:#30373f;
		color:#fff;
	}
	
	#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;
		}

						
	}
		
	/* -------- service detail -------- */
	
	#page_service_detail .panel_headline{
		color:#005698;
	}

	#page_service_detail .panel_quote{

	}
	
	#page_service_detail #case_study{
    background: #2ea9e3;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
	}
	
	#page_service_detail #case_study .page_intro{
		margin-bottom: 0;	
	}
	
	#page_service_detail #case_study h1,
	#page_service_detail #case_study p{
		color: #fff;
	}
	
	#page_service_detail #commercial_clients{
		padding-bottom: 0;
	}
	
	#page_service_detail #commercial_clients .company_logos a img{
    width: 150px;
    margin: 0 10px;
		height: auto;
		filter: grayscale(1);
	}
	
	#page_service_detail #commercial_clients .company_logos a:hover img{
		filter: grayscale(0);
	}
	
	#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;
		padding:0 0 32px 0;
		border-bottom:1px solid #ddd;
	}

	#service_intro .intro_container{
		display: flex;
		flex-direction: column;
	}
	
	#service_intro .col_sidebar{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: center;
	}
	
	
	#service_intro .col_sidebar .headline{
		font-size:1.6em;
		line-height:105%;
		margin:0 0 8px 0;
	}
	
	#service_intro .col_sidebar .subline{

		margin-bottom: 25px;
	}

	#service_intro .col_sidebar .sidebar_quote{
		text-align: center;
		background-color: #37aae1;
		padding: 40px;
		border-radius: 15px;
		width: 100%;
	}

	#service_intro .col_sidebar .sidebar_quote h2,
	#service_intro .col_sidebar .sidebar_quote p{
		color: #fff;
	}

	#service_intro .col_sidebar .sidebar_quote .button{
		width: fit-content;
		margin-left: auto;
		margin-right: auto;
	}
	
	#service_intro .col_sidebar .form .freeform-row{
		flex-direction:column;
	}
	
	
	#service_intro .intro_image{
		margin:0 0 24px 0;
		border-radius: 15px;
		overflow: hidden;
		box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
	}
	
	#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;
		border-radius: 15px;
		overflow: hidden;
	}
	
	#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;
		border-radius: 15px;
		box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
	}
	
	#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;
		border-radius: 15px;
	}
	
	#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;
		border-radius: 15px;
		box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
	}
	
	#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;
		border-radius: 15px;
		box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
		overflow: hidden;
	}
	
	#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-items: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;
	overflow: hidden;
	color: #fff;
  }


  
  #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 200px;
	height: 200px;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    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: 100%;
    object-fit: contain;
  }
  
  #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: 0;
	width: 100%;
	background: red;
  }
  
  #page_product_individual .download_item .download_item_content > div h3{
    display: flex;
    align-items: center;
    flex: 0 0 100%;
	font-size: 16px;
    font-weight: 500;
    line-height: 120%;
    font-weight: 700;
    margin: 0 0 5px;
	color: #005798;
  }
  
  #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.system-size{
    color: #38aae1;
    font-size: 16px;
	display: none;
  }

  #page_product_individual .download_item .download_item_content > div p.supply-type{
	color: #38aae1;
    font-size: 16px;
  }

  #page_product_individual .download_item .download_item_content > div p.description{
    font-size: 16px;
    line-height: 120%;
    color: #333;
    margin: 10px 0;
	font-weight: 500;
  }

  #page_product_individual .download_item .download_item_content > div .click-to-download{
      font-size: 14px !important;
      color: #005698 !important;
      margin: 10px 0 0 !important;
      font-weight: 500;
      background: #f3f3f3;
      display: inline-block;
      padding: 8px 12px;
      border-radius: 30px;
  }

  /**/
  #page_product_individual .download_item.v2{
	background: #000;
	border: 1px solid #fff;
  
  }


  #page_product_individual .download_item.v2:hover{
	transform: none;
  }

  #page_product_individual .download_item.v2 .download_item_content h3{
	margin: 0 0 10px;
	color: #ff7102;
	color: #fff;
	font-weight: 900;
	line-height: 120%;
  }

  #page_product_individual .download_item.v2 .download_item_content .description,
  #page_product_individual .download_item.v2 .download_item_content .description p{
	font-weight: 500;
  }

  #page_product_individual .download_item.v2 .download_item_content .prices{
	color: #4d4d4d;
	color: #fff;
	font-size: 18px;
	line-height: 110%;
	font-weight: 600;
	margin: 0 0 15px;
	/*
	width: fit-content;
    background: #000;
    padding: 5px 10px;
    color: #fff;
    border-radius: 3px;*/
  }

  #page_product_individual .download_item.v2 .download_item_content .prices .price-og{
	text-decoration: line-through;
	margin-right: 5px;
	color: #7b7b7b;
  }

  #page_product_individual .download_item.v2 .download_item_content .prices .price-sale{

  }

  #page_product_individual .download_item.v2 .download_item_content .prices .price-savings{
	display: block;
	color: #ff7102;
	/*
	display: inline;
	margin-left: 5px;
    color: #fff;
    background: #ff7102;
    padding: 12px;
    border-radius: 5px;*/
  }

  #page_product_individual .download_item.v2 .download_item_content .buttons{
    margin: 15px 0 0;
    padding-top: 10px;
    border-top: 1px solid #aeaeae;
  }

  #page_product_individual .download_item.v2 .download_item_content .buttons a{
    font-size: 14px;
    color: #005698;
    margin: 12px 0 0;
    font-weight: 600;
    background: #f3f3f3;
    display: inline-block;
    padding: 10px 15px;
    border-radius: 3px;
	text-decoration: none;
	transition-duration: .2s;
  }

  #page_product_individual .download_item.v2 .download_item_content .buttons a:hover{
	cursor: pointer !important;
  }

  #page_product_individual .download_item.v2 .download_item_content .buttons a.b1{
    background: #ff7102;
    color: #fff;
  }

  #page_product_individual .download_item.v2 .download_item_content .buttons a.b1:hover{
    background: #ff9710;
  }

  #page_product_individual .download_item.v2 .download_item_content .buttons a.b2{
	background: none;
    color: #ff7102;
    box-shadow: inset 0px 0px 0 2px #ff7102;
	color: #fff;
    box-shadow: inset 0px 0px 0 2px #fff;
  }

  #page_product_individual .download_item.v2 .download_item_content .buttons a.b2:hover{
    color: #ff9710;
    box-shadow: inset 0px 0px 0 2px #ff9710;
  }

  #page_product_individual .download_item.v2 .download_item_content a.b3{
	font-size: 14px;
    background: none;
    color: #222222;
	color: #fff;
    text-decoration: none;
    transition-duration: .2s;
    font-weight: 500;
    display: block;
    width: fit-content;
    margin: 10px 0;
  }

  #page_product_individual .download_item.v2 .download_item_content a.b3:hover{
    color: #ff7102;
  }

  /**/

  #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 .video.after-content{
	margin: 60px 0 0;
  }

  #page_product_individual .product .video.top-right{
	margin-bottom: 28px;
  }

  #page_product_individual .product .video.top-right iframe,
  #page_product_individual .product .video.after-content iframe{
	background-color: #dedede;
  }
  
  #page_product_individual .product > div.image img{
    display: block;
    width: 100%;
	border-radius: 15px;
	overflow: hidden;
  }
  
  #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;
	}
	
	.panel_service_promotions .panel_maxwidth{
		max-width:1280px;
	}
	
	#promotion{
		background-color:#fcfcfc;
		background-color: #f5f5f5;
	}
	
	#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_actions{
		padding:16px;
		background-color:#eee;
		margin:0 0 16px 0;
	}
	
	#promotion .col_poster .poster_actions .headline{
		color:#003d6b;
	}
	
	#promotion .col_poster .poster_img{
		width:100%;
		height:auto;
		max-width:512px;
		vertical-align:top;
	}

	#promotion #page_product_individual{
		background: none;
		margin-top: 50px;
		width: 100%;
	}

	#promotion #page_product_individual  .downloads > h3{
		color: #505050;
		font-weight: 500;
	}

	#promotion #page_product_individual .downloads ul{ 
		list-style-type: none;
		margin: 0;
		padding: 0;
	}

	#promotion #page_product_individual .downloads ul li{ 
		margin: 0 0 20px;
	}
	  
	/* -------- news -------- */
	
	#page_news{
		background-color:#f5f5f5;
	}
  
  #page_news[filter="9891"] .news_list .news_item:not([data-filter="9891"]),
  #page_news[filter="9892"] .news_list .news_item:not([data-filter="9892"]){
    display: none;
  }
  
  #page_news .news_list .categories{
    flex: 0 0 calc(100% - 16px);
    margin: 0 auto 20px;
  }
  
  #page_news .news_list .categories a{
    background: #37aae1;
    background: #9a9a9a;
    padding: 10px 20px 8px 20px;
    color: #fff;
    border-radius: 30px;
    display: inline-block;
  }
  
  #page_news .news_list .categories a.active{
    background: #005698;
  }
  
  #page_news .news_list .categories a.active:hover{
    background: #005698;
  }
  
  #page_news .news_list .categories a:hover{
    background: #4cbcf2;
    background: #adadad;
    cursor: pointer !important;
  }
	
	.news_list{
		display:flex;
		flex-direction:column;
		margin:-8px;
	}
	
	.news_list .news_item{
		display:flex;
		flex-direction:column;
		margin:8px;
		background-color:#fff;
		box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
		border-radius: 15px;
		overflow: hidden;
	}
	
	/* .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{
		position:relative;
		flex:0 0 380px;
		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:100%;
		max-height:512px;
		vertical-align:top;
	}
  
  #news_article .cols .col_article img{
    max-width: 100%; 
  }
	
	#news_article .cols .col_sidebar{
		
	}
	
	#news_article .sidebar_item{
		margin:0 0 16px 0;
		padding:16px;
		border-radius: 15px;
		box-shadow: 2px 2px 2px rgb(0 0 0 / 10%);
	}
	
	#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;
		border-radius: 15px;
		box-shadow: 2px 2px 10px rgb(0 0 0 / 5%);
	}
	
	.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{
		background-color:#f7f7f7
	}
	
	#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;
		border-radius: 15px;
		box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
	}
	
	#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 > .panel_maxwidth{
		max-width: 1200px;
	}
	
	#contact_main .cols{
		display:flex;
		flex-direction:column;
	}
	
	#contact_main .cols .col_details{
		margin:0 0 32px 0;
	}

	#contact_main .cols .col_details .box{
	    border-radius: 15px;
		overflow: hidden;
		box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
	}
	
	#contact_main .panel_headline{
		color:#005698;
	}
	
	#contact_main .contact_items{
		
	}
	
	#contact_main .contact_items .item{
		display:flex;
		padding:12px 20px;
		margin:8px 0;
		background-color:#fff;
		font-weight:500;
		line-height:110%;
		text-decoration:none;
		color:#222;
		border-radius: 30px;
		box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
		overflow: hidden;
		width: fit-content;
	}
	
	#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;
		color: #005698;
		font-weight: 500;
	}
	
	#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;
		border-radius: 15px;
		overflow: hidden;
	}
	
	#contact_main .map_box .map_img{
		position:relative;
		display:block;
		width:100%;
		height:auto;
		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{
		box-sizing:border-box;
		display:flex;
		flex-direction:column;
		background-color:#fff;
		color:#222;
		padding:24px;
		margin:8px;
		border-radius: 15px;
		overflow: hidden;
		box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
	}
	
	.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;
	}
	
	/* ---- page message ---- */
	
	.page_messages{
		margin:24px 0;
	}
	
	.page_messages .message{
		display:flex;
		flex-direction:column;
		margin:0 0 8px 0;
		background-color:#005698;
		color:#fff;
		padding:16px;
		box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
		border-radius: 15px;
		overflow: hidden;
	}
	
	.page_messages .message .content{
		display:flex;
	}
	
	.page_messages .message .content .icon{
		margin:0 8px 0 0;
	}
	
	.page_messages .message .content .icon img{
		width:auto;
		height:auto;
		max-width:16px;
		max-height:16px;
		vertical-align:bottom;
	}
	
	.page_messages .message .content .text{
		font-size:1em;
		line-height:120%;
		font-weight:500;
	}
	
	.page_messages .message .actions{
		margin:12px 0 0 0;
	}
	
	.page_messages .message .actions .button{
		white-space:nowrap;
	}
	
	.page_content{
		margin:16px 0;
	}
	
	/* ---- account ---- */
	#page_account h1.my_account_heading{
		margin: 0;
	}
	
	#page_account p.my_account_welcome{
		margin: 10px 0 30px;
		font-weight: 500;
	}
	
	#page_account form{
		background: #fff;
		padding: 60px 50px;
		border-radius: 10px;
		box-shadow: 2px 2px 10px #00000014;
		margin: 30px 0;
		width: 550px;
    max-width: 100%;
		overflow: hidden;
	}
	
	#page_account form h1{
		color: #005698;
    font-size: 40px;
	}
	
	#page_account form label{
		width: 100%;
    display: block;
		margin: 20px 0 10px;
	}
	
	#page_account form input{
    display: block;
		padding: 10px;
		width: calc(100% - 24px);
	}
	
	#page_account form button{
		margin: 30px 0 0;
	}
	
	/**/
	
	#page_account .account_dashboard{
		background: #fff;
		padding: 60px 50px;
		border-radius: 10px;
		box-shadow: 2px 2px 10px #00000014;
		margin: 30px 0;
	}

	
	#page_account .account_dashboard .options h2{
		color: #005698;
	}
	
	#page_account .account_dashboard .options a{
		display: flex;
		flex-wrap: wrap;
    align-items: center;
    background: #f5f5f5;
		color: #333;
    padding: 20px;
    border-radius: 10px;
    margin: 10px 0;
    text-decoration: none;
		font-weight: 500;
		transition-duration: .2s;
	}
	
	#page_account .account_dashboard .options a:hover{
		background: #f8f8f8;
		color: #005698;
	}
	
	#page_account .account_dashboard .options a img{
		width: 26px;
		height: auto;
		object-fit: contain;
		margin: -2px 14px 0 0;
	}
  
  /* ---- case study ---- */
  body[data-entry-slug="case-studies"]{
    
  }
  
  #case_study_individual_page{
    width: 1380px;
    max-width: 100%;
    margin: 0 auto;
  }
  
  #case_study_individual_page .page_intro{
    max-width: 900px;
    width: 100%;
  }
  
  #case_study_individual_page .page_intro img{
    max-width: 100%;
    height: auto;
  }

  #case_study_individual_page .video_wrap{
	position:relative;
	padding-top:56.25%;

  }

  #case_study_individual_page .video_wrap iframe{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
  }
  
  .case_study_gallery{
    display: flex;
    flex-wrap: wrap;
    margin: 0 -.5%;
  }
  
  .case_study_gallery a{
    position: relative;
    display: inline-block;
    background-color: #f3f3f3;
    flex: 0 0 49%; 
    padding-bottom: 40%;
    margin: .5%;
    overflow: hidden;
    cursor: pointer !important;
  }
  
  .case_study_gallery a img{
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: cover;
    transition-duration: .2s;
  }
  
  .case_study_gallery a:hover img{
    transform: scale(1.05);
  }

  	/* -------- calculator - common -------- */

	.calc_page{
		font-weight:500;
	}

	.calc_page .calc_banner .panel_maxwidth{
		max-width:1024px;
	}

	.calc_page .calc_banner .page_headline{
		margin:0;
	}

	.calc_page .calc_banner .page_subline{
		margin:8px 0 0 0;
		font-size:1.1em;
		line-height:110%;
	}

	.calc_page .calc_main{
		background-color:#eee;
		padding:32px 0;
	}

	.calc_page .calc_main .panel_maxwidth{
		max-width:1024px;
	}

	.calc_page .box{
		background-color:#f5f5f5;
		box-shadow:2px 2px 8px rgba(0,0,0,0.1);
		padding:30px;
		margin:0 0 16px 0;
		border-radius:8px;
	}

	.calc_page .box#ssb_box_choose_package,
	.calc_page .box#ssb_box_choose_products{
		padding:0;
		background: none !important;
		box-shadow: none !important;
		transition-duration: 0;
	}

	.calc_page .box.hide{
		display:none;
	}

	.calc_page .box.show{
		display:block;
		opacity:1;
		animation-name:bg-flash;
		animation-iteration-count:1;
		animation-duration:2s;
	}

	.calc_page .box .box_headline{
		margin:0 0 16px 0;
	}

	.calc_page .box .box_headline .headline{
		color:#003d6b;
		font-size:1.4em;
		line-height:110%;
		margin:0;
	}

	.calc_page .box .box_intro{
		
	}

	.calc_page .box .box_actions{
		margin:16px 0 0 0;
	}

	.calc_page .box .box_hint{
		margin:16px 0 0 0;
	}

	.calc_page .box .box_hint p{
		font-size:0.9em;
		line-height:120%;
		margin-bottom: 20px;
	}

	.calc_page .box .input_group{

	}

	.calc_page .box .radio_group{
		display:flex;
		flex-direction:column;
		margin:-4px;
	}

	.calc_page .box .radio_group .input{
		display:flex;
		background-color:#fff;
		border:1px solid #ddd;
		border-radius:8px;
		margin:4px;
		padding:12px;
		line-height:110%;
	}

	.calc_page .box .radio_group .input.checked{
		background-color:#005698;
		border-color:#005698;
		color:#fff;
	}

	.calc_page .box .radio_group .input.hide{
		display:none;
	}

	.calc_page .box .radio_group .input.show{
		display:flex;
	}

	.calc_page .text_field_row{
		display:flex;
		flex-direction:column;
		margin:0 -8px;
	}

	.calc_page .text_field_row .text_field_col{
		flex:1 1 100%;
		margin:8px;
	}

	.calc_page .text_field_row .text_field_col .label{
		display:block;
		margin:0 0 4px 0;
	}

	.calc_page .text_field_row .text_field_col .text_field{
		box-sizing:border-box;
		width:100%;
		border:1px solid #ccc;
		height:40px;
		padding:0 8px;
	}

	.calc_page .text_field_row .text_field_col .text_area{
		box-sizing:border-box;
		width:100%;
		min-height:96px;
		resize:vertical;
		border:1px solid #ccc;
		padding:8px;
	}

	/* -------- calculator - solar savings -------- */

	#calc_solar_savings{

	}

	#calc_solar_savings .box .radio_group.daily_usage .input{
		display:flex;
		flex-direction:column;
	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_input{
		display:flex;
		margin:0 12px 8px 0;
		align-items:center;
	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_input input{
		margin:0 8px 0 0;
	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_input .text{
		font-weight:700;
		font-size:1.2em;
		flex:1 1 100%;
		color:#003d6b;
	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_description{

	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_description .big{
		font-size:1em;
		line-height:110%;
		margin:0 0 8px 0;
	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_description .small{
		font-size:0.9em;
		line-height:110%;
		color:#666;
	}

	#calc_solar_savings .box .radio_group.daily_usage .input.checked .col_input .text{
		color:#fff;
	}

	#calc_solar_savings .box .radio_group.daily_usage .input.checked .col_description .small{
		color:#fff;
		opacity:0.8;
	}

	#calc_solar_savings .box_with_sidebar{
		padding:16px;
	}

	#calc_solar_savings .box_with_sidebar .cols{
		display:flex;
		flex-direction:column;
	}

	#calc_solar_savings .box_with_sidebar .col_sidebar{
		margin:0 0 16px 0;
	}

	#calc_solar_savings .box_with_sidebar .col_sidebar .radio_group{
		margin:0 0 16px 0;
	}

	#calc_solar_savings .box_with_sidebar .col_sidebar .radio_group .group_headline{
		margin:4px;
	}

	#calc_solar_savings .box_with_sidebar .col_sidebar .radio_group .group_headline .headline{
		font-size:1.1em;
		font-weight:700;
		line-height:110%;
		color:#003d6b;
	}

	#calc_solar_savings .box_with_sidebar .col_sidebar .radio_group .input{
		padding:12px;
	}

	#calc_solar_savings .box_with_sidebar .col_sidebar .radio_group .input .col_input{
		margin:0 8px 0 0;
	}

	#calc_solar_savings .box_with_sidebar .col_main{

	}

	#calc_solar_savings .box_with_sidebar .chart_box{
		padding:16px;
		background-color:#fff;
		border-radius:4px;
	}

	#calc_solar_savings .box_with_sidebar .chart_box .chart_wrap{

	}

	#calc_solar_savings .box_with_sidebar .chart_box .chart_canvas{

	}

	#calc_solar_savings .box_with_sidebar{

	}

	#calc_solar_savings .box_with_sidebar .chart_wrap{

	}

	#calc_solar_savings .box_with_sidebar .chart_wrap .labels_top{
		display:flex;
		justify-content:space-around;
		margin:0 0 12px 0;
	}

	#calc_solar_savings .box_with_sidebar .chart_wrap .labels_top .label{
		text-align:center;
		font-size:0.9em;
		line-height:110%;
	}

	#calc_solar_savings .box_with_sidebar .chart_wrap .labels_top .label .number{
		font-weight:700;
	}

	#calc_solar_savings .box_with_sidebar .chart_wrap .labels_bot{
		display:flex;
		justify-content:space-around;
		margin:12px 0 0 0;
	}

	#calc_solar_savings .box_with_sidebar .chart_wrap .labels_bot .label{
		text-align:center;
		font-size:0.9em;
		line-height:110%;
	}

	#calc_solar_savings .box_with_sidebar .chart_wrap .labels_bot .label .number{
		font-weight:700;
	}

	/* -------- calculator - system builder -------- */

	#calc_system_builder{

	}

	#calc_system_builder #banner_headline{
		padding:96px 0 32px 0;
	}

	#calc_system_builder .banner_thankyou{
		display:block;
		padding:24px;
		background-color:transparent;
		border:1px solid #005698;
		color:#005698;
		margin:0 0 16px 0;
		border-radius:8px;
		text-align:center;
	}


	#calc_system_builder.design_2024_v2 .banner_thankyou{
		background: #fff;
	}

	#calc_system_builder .banner_loaded_data{
		display:none;
		flex-direction:column;
		align-items:flex-start;
		padding:16px;
		background-color:#005698;
		color:#fff;
		margin:0 0 16px 0;
		border-radius:8px;
	}

	#calc_system_builder .banner_loaded_data.show{
		display:flex;
	}

	#calc_system_builder .banner_loaded_data .text{
		margin:0 0 12px 0;
		font-size:1em;
		line-height:120%;
	}

	#calc_system_builder .box .radio_group .input [type="checkbox"], 
	#calc_system_builder .box .radio_group .input [type="radio"]{
		margin-right:8px;
	}

	#calc_system_builder .box .radio_group.standard:not(.inline){
		max-width:512px;
		margin:0 auto;
	}

	#calc_system_builder .box .radio_group.standard .input .text{
		font-size:1em;
		font-weight:700;
		line-height:110%;
	}

	#calc_system_builder .box .radio_group.compact .input .text{
		font-size:1em;
		font-weight:700;
		line-height:110%;
	}

	#calc_system_builder .box.choose_package .box_headline{

	}

	#calc_system_builder .box.choose_package .radio_group{
		max-width:600px;
		margin:0 auto;
	}

	#calc_system_builder .box.choose_package .radio_group .input{
		flex-direction:column;
		padding:0;
		overflow:hidden;
	}



	#calc_system_builder .box.choose_package .radio_group .input .row_top{
		display:flex;
		justify-content:space-between;
		border-bottom:1px solid #ddd;
		padding: 15px;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_left{
		display:flex;
		align-items:center;
		padding:12px;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_left .text{
		font-size:1em;
		line-height:110%;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_right{
		position:relative;
		display:flex;
		align-items:center;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_right .specs{
		display:block;
		display:none;
		padding:12px;
		color:#999;
	}

	#calc_system_builder .box.choose_package .radio_group .input.checked .row_top .col_right .specs{
		color:#82b7df;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_bot{
		display:flex;
		flex-direction:column;
		padding:12px;
	}

	#calc_system_builder .box.choose_package .radio_group .input.checked .row_bot{
		background-color:#fff;
		color:#222;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_bot .col_product{
		display:flex;
		margin:0 0 12px 0;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_bot .col_product .col_thumbnail{
		flex:1 1 100%;
		display:flex;
		justify-content:center;
		align-items:center;
		margin-right:12px;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_bot .col_product .col_thumbnail .img{
		width:auto;
		height:auto;
		max-width:96px;
		max-height:96px;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_bot .col_product .col_logo{
		flex:1 1 100%;
		display:flex;
		justify-content:center;
		align-items:center;
		margin-right:12px;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_bot .col_product .col_logo .img{
		width:auto;
		height:auto;
		max-width:96px;
		max-height:96px;
	}

	#calc_system_builder .box.choose_product .box_cols{
		display:flex;
		flex-direction:column;
	}

	#calc_system_builder .box.choose_product .box_cols .col_left{

	}

	#calc_system_builder .box.choose_product .box_cols .col_right{
		margin:16px 0 0 0;
	}

	#calc_system_builder .box.choose_product .product_preview{
		box-sizing:border-box;
		display:flex;
		flex-direction:column;
		text-align:center;
		border:1px solid #ccc;
		background-color:#fff;
		padding:12px;
		border-radius:8px;
	}

	#calc_system_builder .box.choose_product .product_preview .image{
		flex:0 0 128px;
	}

	#calc_system_builder .box.choose_product .product_preview .image .img{
		width:auto;
		height:auto;
		max-width:128px;
		max-height:128px;
	}

	#calc_system_builder .box.choose_product .product_preview .text{
		color:#666;
		font-size:1em;
		line-height:120%;
		margin:8px 0 0 0;
	}

	#calc_system_builder .box.choose_product .radio_group .input{

	}

	#calc_system_builder .box.choose_product .radio_group .input .thumbnail{
		flex:0 0 128px;
		display:flex;
		align-items:center;
		margin:0 16px 0 0;
	}

	#calc_system_builder .box.choose_product .radio_group .input .thumbnail .img{
		width:auto;
		height:auto;
		max-width:128px;
		max-height:24px;
	}

	#calc_system_builder .box.choose_product .radio_group .input.checked .thumbnail .img{
		filter:brightness(00) grayscale(100) invert();
	}

	/*
	#calc_system_builder .box.quote_info{
		padding:0;
		overflow:hidden;
	}

	#calc_system_builder .box.quote_info .box_section{
		padding:16px;
		border-bottom:1px solid #ddd;
	}

	#calc_system_builder .box.quote_info .box_section .section_headline{
		margin:0 0 8px 0;
	}

	#calc_system_builder .box.quote_info .box_section .section_headline .headline{
		color:#003d6b;
		font-size:1.2em;
		line-height:110%;
		margin:0;
	}

	#calc_system_builder .box.quote_info .quote_banner{
		position:relative;
		height:128px;
		margin-bottom:48px;
		background-color:#2ea9e4;
		color:#2ea9e4;
		background-size:cover;
		background-position:center center;
	}

	#calc_system_builder .box.quote_info .quote_banner .img{
		position:absolute;
		left:50%;
		bottom:0;
		transform:translate(-50%,30%);
		width:160px;
		height:auto;
		vertical-align:top;
	}

	#calc_system_builder .box.quote_info .box_headline{

	}

	#calc_system_builder .box.quote_info .box_headline .headline{
		color:#003d6b;
		line-height:110%;
		margin:0 0 8px 0;
	}

	#calc_system_builder .box.quote_info .box_headline .subline{
		color:#666;
		line-height:120%;
		margin:0 auto;
		max-width:600px;
	}
	*/

	#calc_system_builder .box_section.summary{
		background-color:#fff;
	}

	#calc_system_builder .summary_table{

	}

	#calc_system_builder .summary_table .type_group{
		margin-bottom:8px;
		padding:16px;
		border:1px solid #ddd;
	}

	#calc_system_builder .summary_table .type_headline{
		margin-bottom:8px;
	}

	#calc_system_builder .summary_table .type_headline .headline{
		font-size:1.2em;
		line-height:110%;
		color:#37aae1;
	}

	#calc_system_builder .summary_table .type_products{

	}

	#calc_system_builder .summary_table .product_group{
		display:flex;
		align-items:center;
		background-color:#fff;
		margin-bottom:8px;
	}

	#calc_system_builder .summary_table .product_group .col_image{
		
	}

	#calc_system_builder .summary_table .product_group .col_image .img{
		display:block;
		width:48px;
		height:48px;
		object-fit:cover;
		background-color:#ccc;
	}

	#calc_system_builder .summary_table .product_group .col_text{
		padding:8px 16px;
	}

	#calc_system_builder .summary_table .product_group .col_text .qty{

	}

	#calc_system_builder .summary_table .product_group .col_text .qty_number{

	}

	#calc_system_builder .summary_table .product_group .col_text .product_name{

	}

	#calc_system_builder .submit_row{
		margin-top:16px;
	}

	/* -------- smart energy council -------- */

	.panel_smartenergy{
		background-color:#f5f5f5;
		color:#1d1760;
		font-weight:500;
	}

	.panel_smartenergy .panel_maxwidth{
		max-width:800px;
	}

	.panel_smartenergy a{
		color:#1d1760;
	}

	.panel_smartenergy .cols{
		display:flex;
		flex-direction:column;
	}

	.panel_smartenergy .col_logo{
		margin:0 0 16px 0;
	}

	.panel_smartenergy .logo .img{
		width:128px;
		height:auto;
		vertical-align:top;
	}

	/* -------- -------- */
	
}

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

@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:8px;
	}
	
	#header .header_top .nav_button img{

	}
	
	#header .header_bot > ul > li > a{
		padding:8px 12px;
	}
	
	#header .header_bot .get_quote_wrap{
		padding:8px 24px 16px 24px;
	}
	
	/* -------- footer -------- */
	
	/* -------- page general -------- */
	
	
	
	/* -------- home -------- */
	
	#home_feature{
		aspect-ratio: 16/9;
	}
	
	#home_feature .headline{
		font-size:2em;
		margin-bottom:16px;
	}
	
	#home_feature .subline{
		font-size:1.2em;
	}
	
	#home_feature .action{
		margin-top:16px;
	}
	



		
	#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 .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{
		
	}
	
	#promotion .col_poster .poster_actions{
		padding:24px;
		margin:0 0 24px 0;
	}
	
  	/* -------- news -------- */
  
	.news_list{
		
	}
	
	.news_list .news_item{
		
	}
	
	/* .news_list .news_item .image{
		flex:0 0 256px;
	} */

	.news_list .news_item .image{
		flex:0 0 500px;
	}
	
	.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 26px;
		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: 50px;
	}
	
	#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;
	}
	
	/* ---- page message ---- */
	
	.page_messages{
		
	}
	
	.page_messages .message{
		padding:24px;
	}
	
	.page_messages .message .content .icon{
		margin-right:12px;
	}
	
	.page_content{
		margin:24px 0;
	}

	/* -------- calculator - common -------- */
	.calc_page .box .box_headline .headline{
		font-size:1.5em;
	}

	.calc_page .box .radio_group .input{
		padding:16px;
	}

	/* -------- calculator - solar savings -------- */

	#calc_solar_savings{

	}

	#calc_solar_savings .box .radio_group.daily_usage .input{
		flex-direction:row;
	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_input{
		flex:0 0 auto;
		width:96px;
		margin:0 16px 0 0;
	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_description .big{
		font-weight:700;
	}

	#calc_solar_savings .box_with_sidebar{
		padding:24px;
	}

	#calc_solar_savings .box_with_sidebar .col_sidebar .radio_group .input{
		padding:16px;
	}

	#calc_solar_savings .box_with_sidebar .chart_box{
		padding:32px;
	}

	#calc_solar_savings .box_with_sidebar .chart_wrap .labels_top{
		margin-bottom:16px;
	}

	#calc_solar_savings .box_with_sidebar .chart_wrap .labels_top .label{
		font-size:1em;
	}

	#calc_solar_savings .box_with_sidebar .chart_wrap .labels_bot{
		margin-top:16px;
	}

	#calc_solar_savings .box_with_sidebar .chart_wrap .labels_bot .label{
		font-size:1em;
	}
	
	/* -------- calculator - system builder -------- */
  
	#calc_system_builder{
  
	}

	#calc_system_builder #banner_headline{
		padding:128px 0 48px 0;
	}

	#calc_system_builder .banner_loaded_data{
		padding:24px;
	}
	
	#calc_system_builder .banner_loaded_data .text{
		font-size:1.1em;
		margin-bottom:16px;
	}

	#calc_system_builder .box .radio_group.standard .input .text{
		font-size:1.1em;
	}


	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_left{
		padding:16px;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_left .text{
		font-size:1.1em;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_right{
		
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_right .specs{
		padding:16px;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_bot{
		padding:16px;
	}

	#calc_system_builder .box.choose_product .product_preview{
		padding:16px;
	}

	#calc_system_builder .box.choose_product .product_preview .text{
		font-size:1em;
		margin-top:12px;
	}

	#calc_system_builder .box.quote_info .box_section{
		padding:24px;
	}

	#calc_system_builder .box.quote_info .quote_banner{
		
	}

	#calc_system_builder .box.quote_info .quote_banner .img{
		width:192px;
	}

	#calc_system_builder .box.quote_info .box_headline .headline{
		font-size:2em;
		margin-bottom:12px;
	}

	#calc_system_builder .box.quote_info .box_headline .subline{
		font-size:1.1em;
	}

	#calc_system_builder .submit_row{
		margin-top:24px;
	}

	/* -------- smart energy council -------- */

	.panel_smartenergy .col_logo{
		margin:0 0 24px 0;
	}

	.panel_smartenergy .logo .img{
		width:160px;
	}
  
	/* -------- -------- */
		
}

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

@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 .get_quote_wrap{
		padding:12px 32px 24px 32px;
	}
	

	/* -------- page general -------- */
	
	.page_intro{
		
	}
	
	.page_intro .page_headline{
		font-size:2.2em;
	}
	
	.page_intro .page_subline{
		font-size:1.2em;
	}
	
	#basic_page{
		font-size:1.2em;
	}
	
	/* -------- home -------- */
	
	#home_feature{
		
	}
	
	#home_feature .bg.bg_mobile{
		display:none;
	}
	
	#home_feature .bg.bg_tablet{
		display:block;
	}
	
	#home_feature .bg.bg_desktop{
		display:none;
		display: block;
	}
	
	#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[data-layout='productCutout'] .panel_maxwidth{
		flex-direction:row-reverse;
	}
	
	#home_feature[data-layout='productCutout'] .fg .image{
		display:block;
		flex:0 0 256px;
	}
	
	#home_feature[data-layout='productCutout'] .fg .image .cutout{
		position:absolute;
		right:-10%;
		bottom:0;
		width:auto;
		height:512px;
	}
		
	#home_feature .text{
		position:relative;
		z-index:20;

	}
	
	#home_feature .headline{
		font-size:2.2em;
		margin-bottom:24px;
		max-width: 100%;
        margin-left: auto;
        margin-right: auto;
	}
	
	#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:400px;
		height: auto;
		margin: 0 0 20px;
	}
	

	#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 .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;
	}

	#service_intro .intro_content{
		margin-right:40px;
	}

	#service_intro .intro_container{
		display: flex;
		flex-direction: row;
	}


	
	@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;
		}
		
		#page_service_list .boxes .box.evcharge{
			grid-column:1/3;
		}
				
	}
	
	/* -------- 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{
		border:none;
		padding:0;
	}
	
	#service_intro .intro_image{
		margin-bottom:20px;
	}
	
	#service_intro .col_sidebar{
		flex:0 0 256px;
	}
	
	#service_intro .col_sidebar .sidebar_quote{
		display: flex;
		flex-direction: column;
	}
	
	#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 65%; 
  }
  
  #page_product_individual .product > div.image{
    flex: 0 0 35%; 
  }
  
  #page_product_individual .product > div.content > div{
    padding-right: 10%;
  }
  
  #page_product_individual .product > div.content .page_content,
  #page_product_individual .product > div.content .page_content li,
  #page_product_individual .product > div.content .page_content p,
  #page_product_individual .product > div.content .page_content a{
    font-size: 16px;
    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_top{
	display: flex;
	padding: 10px;
	background: blue;
	width: 100%;
  }
  
  #page_product_individual .download_item .download_item_top .download_item_photo{
    flex: 0 0 100px;
	height: 100px;
  }
  
  #page_product_individual .download_item .download_item_top .download_item_content{
    flex: auto;
	padding-right: 10px;
  }

  #page_product_individual .download_item .download_item_bot{
	padding: 0 30px;
  }
  

  /**/
  #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%;
	}
	
	#promotion .col_poster .poster_actions{
		padding:32px;
		margin:0 0 32px 0;
	}
  
  	/* -------- 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{
		
	}
	
	/* ---- page message ---- */
	
	.page_messages{
		margin:32px 0;
	}
	
	.page_messages .message{
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
	}
	
	.page_messages .message .content .icon img{
		max-width:24px;
		max-height:24px;
	}
	
	.page_messages .message .content .text{
		font-size:1.1em;
	}
	
	.page_messages .message .actions{
		margin:0 0 0 24px;
	}
	
	.page_content{
		margin:32px 0;
	}
  
	/* ---- case study ---- */
	.case_study_gallery a{
		flex: 0 0 32.33%; 
		padding-bottom: 24%;
		margin: .5%;
	}

	/* -------- calculator - common -------- */

	.calc_page{

	}

	.calc_page .calc_banner{
		text-align:center;
	}

	.calc_page .calc_main{

	}

	.calc_page .box{
		padding:40px;
	}

	.calc_page .box .box_headline{
		margin-bottom:24px;
		text-align:center;
	}

	.calc_page .box .box_headline .headline{
		font-size:1.6em;
	}

	.calc_page .box .box_intro{
		text-align:center;
	}

	.calc_page .box .box_intro p{
		font-size:1.1em;
		line-height:130%;
	}

	.calc_page .box .box_actions{
		margin-top:24px;
		text-align:center;
	}

	.calc_page .box .box_hint{
		margin-top:24px;
		text-align:center;
	}

	.calc_page .box .box_hint p{
		font-size:1em;
		margin-bottom: 0;
	}

	.calc_page .box .radio_group .input{
		padding:24px;
	}

	.calc_page .text_field_row{
		flex-direction:row;
	}

	.calc_page .text_field_row .text_field_col{

	}

	/* -------- calculator - solar savings -------- */

	#calc_solar_savings{

	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_input{
		width:128px;
	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_input .text{
		font-size:1.3em;
	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_description .big{
		font-size:1.1em;
	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_description .small{
		font-size:1em;
	}

	#calc_solar_savings .box_with_sidebar{
		
	}

	#calc_solar_savings .box_with_sidebar .cols{
		flex-direction:row;
		align-items:center;
	}

	#calc_solar_savings .box_with_sidebar .col_sidebar{
		flex:0 0 auto;
		width:160px;
		margin:0 24px 0 0;
	}

	#calc_solar_savings .box_with_sidebar .col_main{
		flex:1 1 auto;
	}

	/* -------- calculator - system builder -------- */

	#calc_system_builder{

	}

	#calc_system_builder #banner_headline{
		padding:128px 0 96px 0;
	}

	#calc_system_builder #banner_headline .page_headline{
		font-size:2.4em;
	}

	#calc_system_builder .banner_loaded_data{
		flex-direction:row;
		justify-content:space-between;
		align-items:center;
		padding:24px 32px;
	}

	#calc_system_builder .banner_loaded_data .text{
		margin:0 32px 0 0;
		font-size:1.1em;
	}

	#calc_system_builder .box .radio_group.standard .input .text{
		font-size:1.2em;
	}

	#calc_system_builder .box .radio_group.inline{
		flex-direction:row;
		justify-content:center;
	}

	#calc_system_builder .box .radio_group.compact .input{
		padding:16px 24px;
	}

	#calc_system_builder .box .radio_group.compact .input .text{
		
	}

	#calc_system_builder .box .radio_group.roof_type{
		justify-content:flex-start;
	}



	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_left{
		padding:24px;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_left .text{
		font-size:1.2em;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_right{
		
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_right .specs{
		padding:24px;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_bot{
		flex-direction:row;
		padding:24px;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_bot .col_product{
		flex:1 1 100%;
		margin:0 16px 0 0;
	}

	#calc_system_builder .box.choose_product .box_cols{
		flex-direction:row;
	}

	#calc_system_builder .box.choose_product .box_cols .col_left{
		flex:1 1 100%;
	}

	#calc_system_builder .box.choose_product .box_cols .col_right{
		display:flex;
		align-items:center;
		flex:1 1 100%;
		max-width:320px;
		margin:0 0 0 32px;
	}

	#calc_system_builder .box.choose_product .product_preview{
		flex:1 1 100%;
		height:100%;
		justify-content:center;
	}

	#calc_system_builder .box.choose_product .product_preview .image{
		flex:0 0 160px;
	}

	#calc_system_builder .box.choose_product .product_preview .image .img{
		max-width:160px;
		max-height:160px;
	}

	#calc_system_builder .box.quote_info .box_section{
		padding:48px;
	}

	.calc_page .text_field_row .text_field_col .text_field{
		height:48px;
		padding:0 12px;
	}

	#calc_system_builder .box.quote_info .quote_banner{
		height:196px;
	}

	#calc_system_builder .box.quote_info .quote_banner .img{
		width:256px;
	}

	#calc_system_builder .box.quote_info .box_headline{
		text-align:center;
	}

	#calc_system_builder .box.quote_info .box_headline .headline{
		font-size:2.4em;
		margin-bottom:16px;
	}

	#calc_system_builder .box.quote_info .box_headline .subline{
		font-size:1.2em;
	}

	#calc_system_builder .box.quote_info .box_section .section_headline .headline{
		font-size:1.3em;
	}

	#calc_system_builder .submit_row{
		margin-top:48px;
	}

	/* -------- smart energy council -------- */

	.panel_smartenergy .cols{
		flex-direction:row;
		align-items:center;
	}

	.panel_smartenergy .col_logo{
		margin:0 48px 0 0;
	}

	.panel_smartenergy .logo .img{
		width:160px;
	}

	/* -------- -------- */
		
}

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

@media only screen and (min-width: 1024px){
	

	/* -------- home -------- */
	
	#home_feature{

	}
	
	#home_feature[data-layout='personCutout'] .fg .image{
		flex:0 0 320px;
	}
	
	#home_feature[data-layout='personCutout'] .fg .image .cutout{
		right:0;
	}

	#home_feature[data-layout='productCutout'] .fg .image{
		flex:0 0 320px;
	}
	
	#home_feature[data-layout='productCutout'] .fg .image .cutout{
		right:0;
	}
	
	#home_feature .text{


	}
	
	#home_feature .headline{
		font-size:2.4em;
	}
	
	
	@supports( display:grid ){
		
		#home_boxes{
			display:grid;
			grid-template-columns:auto;
			grid-auto-rows:minmax(256px,auto);
		}

		#home_boxes{
			grid-auto-rows:minmax(320px,auto);
		}

		
		#home_boxes{
			grid-template-columns:1fr 1fr;
			grid-auto-rows:minmax(320px,auto);
		}


		#home_boxes .box_residential{
			grid-column:1/3;
		}

		#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_sidebar{
		flex:0 0 320px;
	}

	#service_intro .intro_content{
		margin-right:70px;
	}
	
	#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;
		flex-wrap:wrap;
		margin:-16px;
	}
	
	.finance_options .option{
		margin:16px;
		flex:0 0 calc(50% - 32px);
	}
  
	/* ---- case study ---- */
	.case_study_gallery a{
		flex: 0 0 24%; 
		padding-bottom: 20%;
		margin: .5%;
	}

	/* -------- calculator - common -------- */

	.calc_page{

	}

	.calc_page .calc_banner{
		
	}

	.calc_page .calc_main{

	}

	.calc_page .box{
		padding:64px;
	}

	.calc_page .box .box_headline{
		margin-bottom:32px;
	}

	.calc_page .box .box_headline .headline{
		font-size:1.7em;
	}

	.calc_page .box .box_intro{
		
	}

	.calc_page .box .box_intro p{
		font-size:1.2em;
		line-height:130%;
	}

	.calc_page .box .box_actions{
		margin-top:32px;
	}

	.calc_page .box .box_hint{
		margin-top:32px;
	}

	.calc_page .box .radio_group .input{
		padding:32px;
	}

	/* -------- calculator - solar savings -------- */

	#calc_solar_savings{

	}

	#calc_solar_savings .box .radio_group.daily_usage .input .col_input .text{
		font-size:1.4em;
	}

	#calc_solar_savings .box_with_sidebar{
		padding:32px;
	}

	#calc_solar_savings .box_with_sidebar .col_sidebar{
		width:192px;
		margin-right:40px;
	}

	#calc_solar_savings .box_with_sidebar .col_sidebar .radio_group .group_headline .headline{
		font-size:1.2em;
		margin-bottom:4px;
	}

	#calc_solar_savings .box_with_sidebar .chart_box{
		padding:48px;
	}

	/* -------- calculator - system builder -------- */

	#calc_system_builder{

	}

	#calc_system_builder #banner_headline{
		padding:160px 0 128px 0;
	}

	#calc_system_builder #banner_headline .page_headline{
		font-size:3em;
		margin-bottom:16px;
	}

	#calc_system_builder #banner_headline .page_subline{
		font-size:1.4em;
	}

	#calc_system_builder .box.quote_info .box_section{
		padding:48px;
	}

	#calc_system_builder .box.quote_info .box_section .section_headline .headline{
		font-size:1.4em;
	}

	#calc_system_builder .box.quote_info .box_headline .headline{
		font-size:2.8em;
	}

	#calc_system_builder .box.quote_info .box_headline .subline{
		
	}

	#calc_system_builder .submit_row{
		margin-top:48px;
	}

	/* -------- -------- */
	
}

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

@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 -------- */
  
  .site_maxwidth{
    padding-top: 90px;
  }
	
	#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;
		width: auto;
	}
	
	#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{

	}
	
	#header .header_bot > ul{
		display:flex;
		justify-content:flex-end;
		padding: 0;
	}
	
	#header .header_bot > ul > li{
		position:relative;
		display:flex;
	}
	
	#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;
		box-shadow: 2px 2px 10px rgb(1 86 152 / 14%);
	}
	
	#header .header_bot > ul > li:hover > ul{
		display:block;
	}
		
	#header .header_bot > ul > li > a{
		display:flex;
		align-items:center;
	}
		
	#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.open .header_bot > ul > li.phone_wrap,
	#header.open .header_bot > ul > li.get_quote_wrap{
		display: block;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products:hover ul{
		display: flex;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np1{
		padding: 40px;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np2{
        padding: 30px;
		background: #fafafa;
		display: block;
		padding-bottom: 0;
		margin-bottom: 0;
		border: none;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np1 .npb{
		display: block;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np1 .npb-im a{
		justify-content: start;
		flex-direction: row;
	}

	#header .header_bot > ul > li.has_dropdown.nav-products ul .np1 .npb-im a img{
		margin-right: 10px;
		margin-left: 0;
	}


	/* -------- page general -------- */
	
	.page_intro{
		
	}
	
	.page_intro .page_headline{
		font-size:2.6em;
	}
	
	.page_intro .page_subline{
		
	}
	
	/* -------- home -------- */
	
	#home_feature{

	}
	
	#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[data-layout='productCutout'] .panel_maxwidth{
		flex-direction:row;
	}
	
	#home_feature[data-layout='productCutout'] .fg .image{
		flex:0 0 50%;
	}
	
	#home_feature[data-layout='productCutout'] .fg .image .cutout{
		height:600px;
		right:auto;
		left:0;
	}
	
	#home_feature .headline{
		font-size:3em;
	}
	
	#home_feature .subline{
		font-size:1.4em;
	}
	
	#home_feature .action{
		margin-top:32px;
	}

	@supports( display:grid ){
		
		#home_boxes{
			grid-auto-rows:minmax(256px,auto);
			grid-template-columns:1fr 1fr 1fr 1fr;
		}
		

		#home_boxes .box_residential{
			grid-column:1/3;
			grid-row:1/2;
		}
		
		#home_boxes .box_commercial{
			grid-column:3/5;
			grid-row:1/2;
		}

		#home_boxes .box_awards{
			grid-column:3/5;
			grid-row:2/2;
		}
		
		#home_boxes .box_batteries{
			grid-column:3/5;
			grid-row:3/3;
		}
		
		#home_boxes .box_grants{
			grid-column:1/2;
			grid-row:2/2;
			padding-top: 70px;
			padding-bottom: 70px;
		}
				
		#home_boxes .box_savings{
			grid-column:2/2;
			grid-row:2/2;
			padding-top: 70px;
			padding-bottom: 70px;
		}

		#home_boxes .box_maintenance{
			grid-column:1/1;
			grid-row:3/4;
			padding-top: 70px;
			padding-bottom: 70px;
		}
		
		#home_boxes .box_photo{
			grid-column:2/2;
			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.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{
			
		}
		
		#page_service_list .boxes .box.evcharge{
			grid-column:1/4;
		}
				
	}
	
	/* -------- 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 .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 450px;
	}
	
	#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:768px;
	}
	
	#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;
		transform: scale(1.05);
		transition-duration: .2s;
	}
	
	#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;
		flex:0 0 calc(33.333% - 32px);
	}
	
	/* ---- page message ---- */
		
	.page_messages .message .content .text{
		font-size:1.2em;
	}

	/* -------- calculator - common -------- */

	.calc_page{

	}

	.calc_page .calc_banner{
		
	}

	.calc_page .calc_main{

	}

	.calc_page .box{
		padding:96px;
	}

	.calc_page .box .box_headline{
		margin-bottom:48px;
	}

	.calc_page .box .box_headline .headline{
		font-size:1.8em;
	}

	.calc_page .box .box_intro{
		
	}

	.calc_page .box .box_actions{
		margin-top:48px;
	}

	/* -------- calculator - solar savings -------- */

	#calc_solar_savings{

	}

	#calc_solar_savings .box_with_sidebar{
		padding:48px;
	}

	#calc_solar_savings .box_with_sidebar .col_sidebar{
		margin-right:40px;
	}

	#calc_solar_savings .box_with_sidebar .col_sidebar .radio_group .group_headline .headline{
		font-size:1.3em;
	}

	#calc_solar_savings .box_with_sidebar .chart_wrap .labels_top{
		margin-bottom:24px;
	}

	#calc_solar_savings .box_with_sidebar .chart_wrap .labels_bot{
		margin-top:24px;
	}
  
	/* -------- calculator - system builder -------- */
  
	#calc_system_builder{
  
	}

	#calc_system_builder #banner_headline{
		padding:256px 0 128px 0;
	}

	#calc_system_builder #banner_headline .page_headline{
		font-size:4em;
		margin-bottom:24px;
	}

	#calc_system_builder #banner_headline .page_subline{
		font-size:1.8em;
	}

	#calc_system_builder .banner_loaded_data .text{
		font-size:1.2em;
	}

	#calc_system_builder .box.choose_package .radio_group .input .row_top .col_right .specs:hover{
		color:#666;
		text-decoration:underline;
	}

	#calc_system_builder .box.choose_package .radio_group .input.checked .row_top .col_right .specs:hover{
		color:#fff;
		text-decoration:underline;
	}

	#calc_system_builder .box.quote_info .box_section{
		padding:64px;
	}

	#calc_system_builder .submit_row{
		margin-top:64px;
	}

	/* -------- smart energy council -------- */

	.panel_smartenergy .col_logo{
		margin-right:96px;
	}

	.panel_smartenergy .logo .img{
		width:192px;
	}
  
	/* -------- -------- */
		
}

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

@media only screen and (min-width: 1366px){
	/* -------- about -------- */
	#about_banner{
		height:800px;
	}
	

	
}

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

@media only screen and (min-width: 1600px){
	
	/* -------- overall -------- */
	
	.panel_padding{
		padding:128px 0;
	}
	
	.panel_maxwidth.more_padding{
		padding:256px 0;
	}
	

	/* -------- header -------- */
	
	#header .header_top{
		padding:48px 64px;
		min-height: 20px;
	}
	
	#header .header_top .logo img{
		width:192px;
	}
	
	#header.open .header_bot{
		display:flex;
		padding:0 64px;
	}
	
	#header .header_bot .get_quote_wrap{
		align-items:center;
	}
	
	#header .header_top .get_quote,
	#header .header_bot .get_quote{
		padding: 14px 18px;
		font-size:1em;
	}
	
	/* -------- footer -------- */
	
	/* -------- page general -------- */
	
	.page_intro{
		margin-bottom:40px;
	}
	
	.page_intro .page_headline{
		font-size:3em;
	}
		
	/* -------- home -------- */
	
		
	#home_feature[data-layout='personCutout'] .fg .image .cutout{
		height:768px;
		left:50%;
		transform:translateX(-95%);
	}

	#home_feature[data-layout='productCutout'] .fg .image .cutout{
		height:768px;
		left:50%;
		transform:translateX(-95%);
	}
	
	#home_feature .text{

	}
	
	#home_feature .headline{
		font-size:3.4em;
	}
	

	
	@supports( display:grid ){
		
		#home_boxes{
			grid-auto-rows:minmax(384px,auto);
		}

	
	}
		
	#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 .image{
		flex:0 0 560px;
	}
	
	.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:900px;
	}
	
	/* -------- 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;
	}

	/* -------- calculator - common -------- */

	.calc_page{

	}

	.calc_page .calc_banner{
		
	}

	.calc_page .calc_main{

	}

	/* -------- calculator - solar savings -------- */

	#calc_solar_savings{

	}
  
	/* -------- calculator - system builder -------- */
  
	#calc_system_builder{
		
	}
  
	/* -------- -------- */
	
}

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

@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);
	}
	
}

@keyframes bg-flash{
	0%{
		background-color:#f5f5f5;
		box-shadow:2px 2px 8px rgba(0,0,0,0.1);
	}
	25%{
		background-color:#fff;
		box-shadow:2px 2px 16px rgba(0,0,0,0.3);
	}
	100%{
		background-color:#f5f5f5;
		box-shadow:2px 2px 8px rgba(0,0,0,0.1);
	}
}

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

@media (prefers-reduced-motion){
	#home_feature .bg.bg_video,
	#home_feature .bg.bg_video.show{
		display:none;
	}
}



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

/*-- klik upgrade --*/



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

/**/
body[data-entry-slug="account"] #hubspot-messages-iframe-container,
body[data-entry-slug="account"] mmgp-sms-chat-widget,
body[data-entry-slug="forms"] #hubspot-messages-iframe-container,
body[data-entry-slug="forms"] mmgp-sms-chat-widget,
body[data-section-id="7"] #hubspot-messages-iframe-container,
body[data-section-id="7"] mmgp-sms-chat-widget{
	display: none !important;
}

/**/

#calc_system_builder.design_2024_v2 .calc_main{
	background: #2ea9e4;
	padding-bottom: 200px;
}


#calc_system_builder.design_2024_v2 .box.question .box_headline p.step{
	font-size: 12px;
    margin: -10px 0 0 0;
}


#calc_system_builder.design_2024_v2 .banner_loaded_data.show{
	background: none;
    padding: 0;
    margin: 0 0 30px;
}

#calc_system_builder.design_2024_v2 .box.question .photo img{
	display: block;
	max-width: 100%;
	width: 120px;
	height: 120px;
	object-fit: cover;
    margin: 10px 0 20px;
	border-radius: 50%;
}


#calc_system_builder.design_2024_v2 .box.quote_info,
#calc_system_builder.design_2024_v2 .box.question{
	display: none;
}

#calc_system_builder.design_2024_v2 .box.question.show,
#calc_system_builder.design_2024_v2 .box.quote_info.show{
	display: block;
}

.form-solar-system-builder .box_headline{
	text-align: left;
    max-width: 600px;
	padding: 0 !important;
    margin: 0 0 20px !important;
}

.form-solar-system-builder .box_headline h2{
	font-size: 30px !important;
	text-align: left;
}

.form-solar-system-builder .box_headline p{
	text-align: left;
	line-height: 130%;
	font-size: 16px !important;
}

.form-solar-system-builder form label{
	text-align: left;
	margin-bottom: 5px;
}

.form-solar-system-builder form input,
.form-solar-system-builder form textarea{
	padding: 10px;
    border: none;
    box-shadow: 2px 2px 10px #00000014;
	resize: none;
}

.form-solar-system-builder label[for="form-input-solarSystemBuilderPromotionPackage"],
.form-solar-system-builder label[for="form-input-solarSystemBuilderPanels"],
.form-solar-system-builder label[for="form-input-solarSystemBuilderInverter"],
.form-solar-system-builder label[for="form-input-solarSystemBuilderBattery"],
.form-solar-system-builder label[for="form-input-solarSystemBuilderEvChargerAddon"]{
	pointer-events: none;
	user-select: none;
}

.form-solar-system-builder input[name="solarSystemBuilderPromotionPackage"],
.form-solar-system-builder input[name="solarSystemBuilderPanels"],
.form-solar-system-builder input[name="solarSystemBuilderInverter"],
.form-solar-system-builder input[name="solarSystemBuilderBattery"],
.form-solar-system-builder input[name="solarSystemBuilderEvChargerAddon"]{
	pointer-events: none;
    user-select: none;
    background: none;
    box-shadow: none;
    padding: 0;
    color: #005698;
}


.form-solar-system-builder form button{
	padding: 15px 25px;
    background: #005698;
    border: none;
    border-radius: 5px;
    color: #fff;
    font-weight: 600;
    font-size: 15px;
	transition-duration: .2s;
	margin-top: 20px;
}

.form-solar-system-builder form button:hover{
	background: #1272bb;
}



#calc_system_builder.design_2024_v2 .choose_package_design_v2 .choose_package_promotions .choose_package_promotion a.input .text{
	text-align: center;
	width: 100%;
}

#calc_system_builder.design_2024_v2 .box.question .radio_group .input:not(.checked):hover{
	background: #38aae1;
	color: #fff;
}

#calc_system_builder.design_2024_v2 .box.question .radio_group .input:not(.checked):hover .from-price{
	color: #fff !important;
}

#calc_system_builder .box.choose_package .radio_group .input img{
	max-width: 150px;
    margin: 20px auto 0;
}

#ssb_box_choose_package{
	padding: 0;
    box-shadow: none !important;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .cmp-group{
	display: none;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .cmp-group.active{
	display: block;
}

#calc_system_builder.design_2024_v2 .choose-manual-products h2.items-heading{
	margin: 40px 0 15px 0;
	color:  #003d6b;
	font-size: 20px;
}

#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline .selections-filter{
	display: none;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 15px;
	box-shadow: 2px 2px 10px #dfdfdf;
	margin: 5px 0;
	flex: 0 0 100%;
	margin: 10px 0;
	display: none;
	transition-duration: .2s;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item.show{
	display: flex;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item::after{
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	border-radius: 15px;
	opacity: 0;
	transition: opacity .2s ease;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item:hover::after{
	opacity: 1;
	box-shadow: inset 0 0 0 5px #2ea9e4;
	box-shadow: inset 0 0 0 5px #005698;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item.active{
	background: #025698;
	color: #fff;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item.active .content h3.title,
#calc_system_builder.design_2024_v2 .choose-manual-products .items .item.active .content p.description{
	color: #fff;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item.active::after{
	opacity: 1;
	box-shadow: inset 0 0 0 5px #005698;
}



#calc_system_builder.design_2024_v2 .choose-manual-products .items .item:hover{
	cursor: pointer;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item .photo{
	flex: 0 0 100px;
	margin-right: 0px;
	padding: 10px 0;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item .photo img{
	border-radius: 0;
	object-fit: contain;
	width: 100%;
	height: auto;
	max-height: 160px;
	display: block;
	margin: 0;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item .content{
	flex: auto;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item .content > div{
	padding: 20px 20px 20px 15px;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item .content h3.title{
	font-size: 16px;
	margin: 0 0 5px;
}

#calc_system_builder.design_2024_v2 .choose-manual-products .items .item .content p.description{
	color: #333333;
	font-size: 14px;
	line-height: 120%;
	margin: 2px 0;
}

#calc_system_builder.design_2024_v2 .box.question .box_headline h2.headline{
	font-size: 20px;
}

#calc_system_builder.design_2024_v2 .box.question .radio_group .input{
	font-size: 14px;
	padding: 10px 15px;
	cursor: pointer !important;
	transition-duration: .2s;
}

#calc_system_builder.design_2024_v2 .box.question .radio_group .input .text{
	font-size: 14px;
}

#calc_system_builder.design_2024_v2 .box.question .radio_group.inline{
	justify-content: flex-start;
}

#calc_system_builder.design_2024_v2 .box.question .radio_group.standard:not(.inline){
	max-width: 512px;
	margin: 0;
}



#calc_system_builder.design_2024_v2 .box.question .radio_group .input.active{
	background: #005698;
}


#calc_system_builder.design_2024_v2 .box.question .radio_group .input.active .text{
	color: #fff;
}

#calc_system_builder.design_2024_v2 .box.question .box_hint{
	margin: 15px 0 0;
}

#calc_system_builder.design_2024_v2 .box.question .box_hint p{
	text-align: left;
	font-size: 14px;
}

#calc_system_builder.design_2024_v2 .box.question p.select-brand{
	margin: 0;
	font-size: 12px;
}


@media (min-width:768px){


	#calc_system_builder .box.choose_package .radio_group .input img{
		max-width: 300px;
		margin: 0 auto;
	}

	#calc_system_builder.design_2024_v2 .box.question.show{
		display: flex;
	}

	#calc_system_builder.design_2024_v2 .box.question{
		flex-wrap: wrap;
		padding: 0;
		overflow: hidden;
	}

	#calc_system_builder.design_2024_v2 .box.question.system_type,
	#calc_system_builder.design_2024_v2 .box.question.system_size,
	#calc_system_builder.design_2024_v2 .box.question.supply_type{
		height: 200px;
		align-items: center;
	}

	#calc_system_builder.design_2024_v2 .box.question .photo{
		flex: 0 0 250px;
		background-size: cover;
		background-position: 50% 50%;
		background-repeat: no-repeat;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	#calc_system_builder.design_2024_v2 .box.question .photo img{
		margin: auto;
	}

	#calc_system_builder.design_2024_v2 .box.question.product_selection.promotions-only label.input.showProducts{
		display: none;
	}

	#calc_system_builder.design_2024_v2 .box.question.product_selection .box.question{
		box-shadow: none !important;
		background: none !important;
	}

	#calc_system_builder.design_2024_v2 .box.question .content{
		flex: auto;
	}

	#calc_system_builder.design_2024_v2 .box.question .photo.photo-package-builder{
		height: 200px;
	}

	#calc_system_builder.design_2024_v2 .box.question .content.content-package-builder{
		display: flex;
		align-items: center;
		height: 200px;
	}

	#calc_system_builder.design_2024_v2 .box.question .content > div{
		padding: 30px 0;
	}

	#calc_system_builder.design_2024_v2 .box.question .box_headline{
		margin: 0 0 15px;
		text-align: left;
	}

	#calc_system_builder.design_2024_v2 .choose-manual-products .items .item .photo{
		flex: 0 0 150px;
	}



	/**/

	#calc_system_builder.design_2024_v2 .choose_package_design_v2{
		display: none;
		width: 100%;
	}


	#calc_system_builder.design_2024_v2 .choose_package_design_v2.show{
		display: block;
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline{
		width: 90%;
        margin: 0 auto;
		text-align: left;
        margin: 0;
        padding: 0 50px 15px;
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline{

	}


	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline .text{
		
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline .selections-filter{
		display: flex;
		align-items: center;
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline .selections-filter p.showing{
		font-size: 14px;
		margin: 0 12px 0 0;
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline .selections-filter .system-type,
	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline .selections-filter .system-size{
		margin-right: 15px;
	}



	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline .selections-filter .system-type a,
	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline .selections-filter .system-size a,
	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline .selections-filter .supply-type a{
		font-size: 14px;
		cursor: pointer;
		color: #025698;
		font-weight: 600;
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline .selections-filter .system-type a:hover,
	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline .selections-filter .system-size a:hover,
	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .box_headline .selections-filter .supply-type a:hover{
		text-decoration: underline;
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .radio_group{
		/*
		max-width: 100%;
		width: 100%;
		display: flex;
        flex-wrap: nowrap;
        justify-content: space-between;
        flex-direction: row;
		margin: 0 -.5%;
		*/
		width: 100%;
		max-width: 100%;
        padding: 0 50px 50px;

	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .radio_group label.input{

		/*
        flex: 0 0 32.33%;
		margin: 0 .5%;
		padding: 0;
		*/
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .radio_group .input .row_top{
		border: none;
		display: flex;
		flex-wrap: wrap;
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .radio_group .input .row_bot{
		background: #fff !important;
		border-radius: 10px;
		overflow: hidden;
	}

	/**/

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .choose_package_promotions{
		display: flex;
		flex-wrap: wrap;
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .choose_package_promotions .choose_package_promotion{
		position: relative;
		flex: 0 0 25%;
		display: none;
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .choose_package_promotions .choose_package_promotion.show{
		display: block;
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .choose_package_promotions .choose_package_promotion a.input{
		padding: 0;
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .choose_package_promotions .choose_package_promotion a.input img{
		display: block;
		width: 100%;
        height: 200px;
        object-fit: cover;
		margin: 0;
		border-radius: 0;
	}

	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .choose_package_promotions .choose_package_promotion a.input input[type="radio"]{
		position: absolute;
        top: 15px;
        left: 15px;
	}



	#calc_system_builder.design_2024_v2 .choose_package_design_v2 .choose_package_promotions .choose_package_promotion a.input .text .from-price{
		display: block;
		margin: 5px 0 0;
		color: #38aae1;
	}



	/**/
	#calc_system_builder.design_2024_v2 .choose-manual-products{
		width: 90%;
		margin: 0 auto;
		border-top: 2px solid #b0b0b0;
		padding-bottom: 50px;
	}



	#calc_system_builder.design_2024_v2 .choose-manual-products .items{
		display: flex;
		flex-wrap: wrap;
		margin: 0 -.5%;
	}


	/**/



	#calc_system_builder.design_2024_v2 #ssb_box_choose_products{
		display: none;
		width: 100%;
		padding: 0;
	}


	#calc_system_builder.design_2024_v2 #ssb_box_choose_products.show{
		display: block;
	}


	

	/**/
	#calc_system_builder.design_2024_v2 .box.question.choose_product,
	#calc_system_builder.design_2024_v2 .box.question.include_battery{
		padding: 50px;
		width: 100%;
		opacity: 0;
	}

	#calc_system_builder.design_2024_v2 .box.question.choose_product.show,
	#calc_system_builder.design_2024_v2 .box.question.include_battery.show{
		display: block;
		opacity: 1;
	}

	#calc_system_builder.design_2024_v2 .box.question.choose_panels{
		padding: 0 50px 20px;
	}

	#calc_system_builder.design_2024_v2 .box.question.include_battery{
		padding-top: 0;
	}


	/* inverter */
	#calc_system_builder.design_2024_v2 .box.question.choose_inverters.show{
		padding: 0;
		margin: 10px 0 0;
		box-shadow: none !important;
		background: none !important;
	}


	/* batteries */

	#calc_system_builder.design_2024_v2 .box.question.choose_batteries.show{
		padding: 0;
		margin: 40px 0 0;
		box-shadow: none !important;
		background: none !important;
	}



}





@media(max-width:1279px){
  #header .header_bot ul li.has_dropdown ul{
    display: none;
  }
  
  #header .header_bot ul li.has_dropdown.show-dropdown ul{
    display: block;
  }
  
  #header.open .header_bot > ul > li a{
    margin-right: 10px;
  }
  
  #header.open .header_bot > ul > li.phone_wrap{
    margin-right: 10px;
  }
  
  #header .header_bot > ul > li.has_dropdown > a::after{
    display: inline-block;
    content: "▼";
    font-size: 0.4em;
    color: rgb(153, 153, 153);
    transform: translateX(15px);
    margin: 0px 0px 0px -8px;
  }
  
  
}


  


/*-- Promotions V2 --*/
#promotion-v2-header{
    background-color: #333333;
	background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    height: 400px;
}

#promotion-v2-header > div{
	height: 100%;
    width: 100%;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    color: #fff;
    font-size: 40px;
    font-weight: 900;
    letter-spacing: -4px;
	background: rgb(0 0 0 / 60%);
    height: 100%;
    width: 100%;
}

#promotion-v2-header img.photo{
	display: block;
	width: 600px;
    max-width: 90%;
}

/**/
body[data-entry-id="26445"] #promotion{
	background: #0f0d0d;
	padding: 0;
}

body[data-entry-id="26445"] #promotion > .panel_maxwidth{
	padding: 0;
	border-radius: 20px;
}

body[data-entry-id="26445"] #promotion > .panel_maxwidth > div{
    padding: 0 0 30px;
}

body[data-entry-id="26445"] #promotion > .panel_maxwidth > div .page_intro{
	text-align: center;
}

body[data-entry-id="26445"] #promotion > .panel_maxwidth > div .page_intro h2{
	color: #fff;
}

body[data-entry-id="26445"] #promotion > .panel_maxwidth > div .page_intro p{
	color: #fff;
	margin: 0 auto;
	max-width: 690px;
}

body[data-entry-id="26445"] #promotion #page_product_individual{
	margin-top: 20px;
	padding-top: 0;
}
/**/

body[data-entry-id="26445"] #promotion #page_product_individual .download_item .download_item_photo{
	flex: 0 0 100%;
}

body[data-entry-id="26445"] #promotion #page_product_individual .download_item .download_item_photo img{
	object-fit: cover;
}

body[data-entry-id="26445"] #promotion #page_product_individual .download_item .download_item_content{
	flex: 0 0 100%;
}



/**/

body[data-entry-id="26445"] #promotion .terms-and-conditions{
    text-align: center;
    max-width: 460px;
	color: #fff;
	margin: 0 auto;
}

body[data-entry-id="26445"] #promotion .terms-and-conditions p{
	color: #fff;
}

body[data-entry-id="26445"] .panel_smartenergy{
	display: none;
}


#promotion-formie-form{
    display: block;
    width: 100%;
	background: #0e0d0d;
	/*
    background: #ff7102;
    background: linear-gradient(45deg, #ffa100, #ff6f00);
	*/
}

#promotion-formie-form > .panel_padding{
	padding: 50px 0;
}

#promotion-formie-form .formie-form{
	font-family: proxima-nova, sans-serif;
	background: #f9f9f9;
	max-width: 1120px;
	margin: 0 auto;
	padding: 0;
}

#promotion-formie-form .formie-form > div{
	padding: 40px;
}

#promotion-formie-form .formie-form .introduction{
	font-family: proxima-nova, sans-serif;
	margin: 0 0 30px;
}

#promotion-formie-form .formie-form .introduction h2{
	color: #ff7102;
	font-weight: 900;
	margin: 0 0 10px;
}

#promotion-formie-form .formie-form .introduction p{
	color: #333;
	font-weight: 600;
	font-size: 16px;
	margin: 0;
}

#promotion-formie-form .formie-form label{
	color: #333;
	font-weight: 600;
	font-size: 14px;
}

#promotion-formie-form .formie-form input{
	border: none;
	background: #fff;
	box-shadow: 2px 2px 10px rgb(0 0 0 / 5%);
	padding: 12px;
}

#promotion-formie-form .formie-form .fui-type-phone .iti{
	width: 100%;
}

#promotion-formie-form .formie-form .fui-type-phone .iti--separate-dial-code .iti__selected-flag{
	background: #fff;
}

#promotion-formie-form .formie-form [data-field-handle="placeDepositCheckbox"] label{
    background: linear-gradient(190deg, #ffa100, #ff6f00);
    background-size: 200% 100%;  /* Start with a gradient that is twice as wide */
    background-position: 0 0;     /* Start the background at the left edge */
    color: #fff;
    display: flex;
    align-items: center;
    font-weight: 900;
    padding: 20px 30px 20px 70px;
    line-height: 140%;
    min-height: 80px;
    margin: 10px 0 0;
    animation: gradientShift 1s linear infinite; /* Animation to shift the gradient */
	border-radius: 3px;
}

@keyframes gradientShift{
    0%{
        background-position: 0 0;  /* Start from the left */
    }
    50%{
        background-position: 100% 0; /* Move to the right */
    }
    100%{
        background-position: 0 0; /* Back to the left */
    }
}

#promotion-formie-form .formie-form [data-field-handle="placeDepositCheckbox"] label:hover{
	filter: brightness(1.1);
	cursor: pointer !important;
}

#promotion-formie-form .formie-form [data-field-handle="placeDepositCheckbox"] label::before{
    width: 40px;
    height: 40px;
    border: none;
    position: absolute;
	left: 15px;
    top: 20px;
	box-shadow: 2px 2px 10px rgb(0 0 0 / 20%)
}

#promotion-formie-form .formie-form button[type="submit"]{
    font-size: 14px;
    font-weight: 600;
	color: #fff;
    background: #000;
    display: inline-block;
	padding: 15px 30px;
    border-radius: 3px;
	border: none;
	transition-duration: .2s;
}

#promotion-formie-form .formie-form button[type="submit"]:hover{
	background: #4d4d4d;
	cursor: pointer !important;
}


/**/
#promotion-formie-form .formie-form .payment-info p{
    color: #333;
    font-size: 14px;
    max-width: 600px;
    font-weight: 500;
    font-family: proxima-nova, sans-serif;
    margin: 0 0 15px;
}

#promotion-formie-form .formie-form .payment-info img{
	display: block;
	width: 400px;
	max-width: 100%;
	height: auto;
}

/**/
@media(min-width:768px){

	#promotion-v2-header{
		height: 700px;
	}

	body[data-entry-id="26445"] #promotion > .panel_maxwidth > div{
		padding: 20px 80px;
	}

	body[data-entry-id="26445"] #promotion #page_product_individual .download_item .download_item_photo{
		flex: 0 0 30%;
	}

	body[data-entry-id="26445"] #promotion #page_product_individual .download_item .download_item_content{
		flex: 0 0 70%;
	}

	body[data-entry-id="26445"] #promotion #page_product_individual .download_item .download_item_content > div{
	    padding: 50px 10% 50px 8%;
	}

	#promotion-formie-form > .panel_padding{
		padding: 80px 0;
	}

	#promotion-formie-form .formie-form > div{
		padding: 80px;
	}
	




}


/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ======  Showroom Page Tablet  ======================================================================================================================== */
/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */
/* ================================================================================================================================ */

/* Showroom Page Tablet 1: override for the website version of the showroom page */
body#showroom-page[data-web="web"] header{
	justify-content: center;
}

body#showroom-page[data-web="web"] header .logo,
body#showroom-page[data-web="web"] #view-tv-button{
	display: none !important;
}

/* Showroom Page Tablet 2: codes for the tablet version of the showroom page */

body#showroom-page *{
	-webkit-tap-highlight-color: transpearent;
	user-select: none;
}

body#showroom-page .video-background{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  overflow: hidden;
}

body#showroom-page .video-background iframe{
	width: 100vw;
	height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
	min-height: 100vh;
	min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}


body#showroom-page #inactivity-panel{
	opacity: 0;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: -1;
	overflow: hidden;
	z-index: 9999;
	transition-duration: 1s;
  }

  body#showroom-page #inactivity-panel.active{
	opacity: 1;
	pointer-events: all;
	cursor: pointer;
  }
  
  body#showroom-page #inactivity-panel iframe{
	  width: 100vw;
	  height: 56.25vw; /* Given a 16:9 aspect ratio, 9/16*100 = 56.25 */
	  min-height: 100vh;
	  min-width: 177.77vh; /* Given a 16:9 aspect ratio, 16/9*100 = 177.77 */
	  position: absolute;
	  top: 50%;
	  left: 50%;
	  transform: translate(-50%, -50%);
	  pointer-events: none;
	  z-index: 1;
  }

  body#showroom-page #inactivity-panel .shade{
	background: rgb(0 0 0 / 30%);
    z-index: 2;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
	z-index: 2;
  }

  body#showroom-page #inactivity-panel .content{
	position: absolute;
    z-index: 3;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
	opacity: 0;
	transition-duration: 0.4s;
  }

  body#showroom-page #inactivity-panel.active .content{
	opacity: 1;
  }

  body#showroom-page #inactivity-panel .content p{
    color: rgb(255 255 255 / 70%);
	font-size: 14px;
    font-weight: 600;
  }

body#showroom-page #toolbar-bottom{
	display: none;
	z-index: 3;
	position: fixed;
    bottom: 15px;
    left: 20px;
	align-items: center;
	justify-content: center;
}

body#showroom-page a#view-tv-button,
body#showroom-page a#clear-selections{
	background: #319ed2;
	font-size: 14px;
    height: 35px;
    width: 80px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 35px;
    border: 3px solid #fff;
    color: #fff;
	font-weight: 600;
	transition-duration: .2s;
	margin-right: 10px;
}

body#showroom-page a#clear-selections{
    width: 140px;
	margin-right: 0;
	background: rgb(0 0 0 / 25%);
	display: none;
}

body#showroom-page a#clear-selections.active{
	display: flex;
}

body#showroom-page a#view-tv-button:hover,
body#showroom-page a#clear-selections:hover{
	cursor: pointer;
}

body#showroom-page.view-tv a#view-tv-button{
	background: #003d6b;
}

body#showroom-page iframe#hubspot-conversations-iframe,
body#showroom-page #hubspot-messages-iframe-container,
body#showroom-page mmgp-sms-chat-widget{
	display: none;
	opacity: 0;
	pointer-events: none;
}

body#showroom-page{
    background-color: #37aae1;
	background: linear-gradient(#37aae1, #1883ab);
	background-size: cover;
    background-repeat: no-repeat;
    background-position: 50% 50%;
}

body#showroom-page.active{
	background-color: #37aae1;
	background-image: url(https://solarpowerdirect.com.au/images/home/box_bg_batteries.jpg);	
	background-size: inherit;
    background-position: 0 0;
}

body#showroom-page .showroom-page-wrapper,
body#showroom-page header{
	display: flex;
	width: 94%;
    max-width: 1500px;
	transition-duration: .5s;
}

body#showroom-page .showroom-page-wrapper{
    align-items: center;
    justify-content: center;
	padding: 50px;
	padding: 0;
    margin: auto;
	min-height: 100vh;
}


body#showroom-page .showroom-page-wrapper.hide-battery header .nav li a[data-products-group="group-batteries"]{
    background: rgb(38 190 247 / 80%);
    opacity: .4;
	pointer-events: none;
}

body#showroom-page .showroom-page-wrapper.hide-battery #group-product-types .gr-item.gr3{
	background: rgb(224 247 255 / 40%);
	pointer-events: none;
}

body#showroom-page .showroom-page-wrapper.hide-battery #group-product-types .gr-item.gr3 .buttons a.add-product{
	display: none;
}

body#showroom-page header{
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: 20px auto 0;
	opacity: 0;
	pointer-events: none;
	z-index: 2;
}

body#showroom-page.active header{
	opacity: 1;
	pointer-events: all;
}

body#showroom-page header .logo img{
	display: block;
    width: 100%;
    max-width: 150px;
    height: auto;
}

body#showroom-page header .nav{
	display: none;
	flex-wrap: wrap;
	list-style-type: none;
	margin: 0;
	padding: 0;
	align-items: center;
}

body#showroom-page header .nav li{
    margin: 0 -12px 0 0;
    padding: 0;
}

/*
body#showroom-page header .nav li:nth-of-type(1){
    margin-right: -30px;
    filter: brightness(0.9);
    z-index: 1;
}*/

body#showroom-page header .nav li.all a{
    padding-left: 25px;
    padding-right: 30px;
	border-top-left-radius: 15px;
	border-bottom-left-radius: 15px;
	clip-path: polygon(0 0, calc(100% - 20px) 0, 100% 50%, calc(100% - 20px) 100%, 0 100%);
}

body#showroom-page header .nav li.all a img{
	display: block;
    width: 12px;
    height: 12px;
    object-fit: contain;
}

body#showroom-page header .nav li.evcharge{
	margin-right: 6px;
}

body#showroom-page header .nav li.all a.active::after{
    width: 12px;
    transform: translateX(-2px);
}

body#showroom-page header .nav li.evcharge a{
	padding-right: 25px;
	border-top-right-radius: 15px;
	border-bottom-right-radius: 15px;
	clip-path: polygon(
		100% 0,         /* top-right (90°) */
		100% 100%,      /* bottom-right (90°) */
		0 100%,         /* bottom-left */
		20px 50%,       /* left point */
		0 0             /* top-left */
	  );
}

body#showroom-page header .nav li.finish{
	margin-right: 12px;
}

body#showroom-page header .nav li.finish a{
	clip-path: none;
	color: #26bef7;
    background: #fff;
    padding-left: 20px;
	padding-right: 20px;
    border-radius: 25px;
}

body#showroom-page header .nav li.finish a img{
	display: block;
	width: 14px;
	height: 14px;
	object-fit: contain;
	margin-right: 10px;
	margin-top: -2px;
}

body#showroom-page header .nav li.help a{
    clip-path: none;
    height: 25px;
    width: 25px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 50%;
    background: none;
    border: 3px solid #fff;
    color: #fff;
}

body#showroom-page header .nav li.help a.active::after{
	display: none;
}

body#showroom-page header .nav li a{
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	color: #fff;
	padding: 5px 35px 5px 35px;
	font-size: 15px;
	font-weight: 700;
	background: #26bef7;
	line-height: 100%;
	text-align: center;
	transition-duration: 0.2s;
	clip-path: polygon(
		calc(100% - 20px) 0,
		100% 50%,
		calc(100% - 20px) 100%,
		0 100%,
		20px 50%,
		0 0
	);
}


body#showroom-page header .nav li a:hover{
	cursor: pointer;
	background: #4cccf9;
}


body#showroom-page header .nav li a.active{
	background: #4cccf9;
}

body#showroom-page header .nav li.finish a{
	color: #26bef7;
	background: #fff;

}

/**/
body#showroom-page #group-introduction{
	display: none;
}

body#showroom-page #group-introduction.active{
	display: flex;
}

body#showroom-page #group-introduction .intro-image{
    display: block;
    width: 90%;
	margin: 0 auto;
    height: auto;
    max-width: 800px;
    object-fit: contain;
	z-index: 1;
}

body#showroom-page #group-introduction a.get-started{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	color: #fff;
	background: #003d6b;
	line-height: 100%;
	width: fit-content;
	margin: 0 auto;
	margin-top: -60px;
	box-shadow: 2px 2px 10px #00000014;
	transition-duration: 0.2s;
	z-index: 2;
	font-size: 14px;
	font-weight: 600;
	padding: 12px 22px;
	border-radius: 25px;
	height: 25px;
	overflow: hidden;
}


body#showroom-page #group-introduction a.get-started::before{
	content: '';
	position: absolute;
	top: 0;
	left: -75%;
	width: 50%;
	height: 100%;
	background: linear-gradient(120deg, rgba(150, 150, 150, 0.1) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0.1) 100%);
	transform: skewX(-25deg);
	animation: qbshine 2s infinite;
	opacity: 0.7;
}


body#showroom-page #group-introduction a.get-started:hover{
	background-color: #12598f;
	cursor: pointer;
}


/**/
/** PROMPT QUESTIONS **/

body#showroom-page #group-prompt-questions{
	display: none;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 50px auto 0;
	gap: 20px;
	max-width: 1500px;
	transition-duration: .2s;
}

body#showroom-page #group-prompt-questions.active{
	display: flex;
}

body#showroom-page #group-prompt-questions .questionnaire-panel{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	width: 100%;
}

/* Each question styled like a "card" */
body#showroom-page #group-prompt-questions .question-block{
	flex: 1;
	background: #e0f7ff;
	border-radius: 15px;
    margin: -50px 10px 0;
    padding: 30px;
	box-shadow: 0 2px 10px rgba(0, 61, 107, 0.1);
	transition: box-shadow 0.3s ease;
}

body#showroom-page #group-prompt-questions .question-block:hover{
	box-shadow: 0 4px 20px rgba(0, 61, 107, 0.15);
}

body#showroom-page #group-prompt-questions .question-block h2.s1{
	font-size: 20px;
	margin: 0;
	color: #003d6b;
}

body#showroom-page #group-prompt-questions .question-block p.s2{

}

body#showroom-page #group-prompt-questions .question-block .question-options{
	list-style: none;
	padding: 0;
	margin: 0;
}

body#showroom-page #group-prompt-questions .question-block .question-options input[type="radio"]{
	display: none;
}

body#showroom-page #group-prompt-questions .question-block .question-options li{
	margin: 0 0 5px;
}

body#showroom-page #group-prompt-questions .question-block .question-options li:last-of-type{
	margin: 0;
}

body#showroom-page #group-prompt-questions .question-block .question-options li label{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 10px;
	border-radius: 40px;
}

body#showroom-page #group-prompt-questions .question-block .question-options label:hover{
	background: #12598f;
	color: #fff;
	transition: background 0.2s ease, color 0.2s ease;
}

body#showroom-page #group-prompt-questions .question-block .question-options input[type="radio"]:checked + label{
	background: #003d6b;
	color: #fff;
}


body#showroom-page #group-prompt-questions .question-block .question-options li label img{
    display: block;
    width: 28px;
    height: 28px;
	padding: 10px;
    margin: 0 10px 0 0;
    object-fit: contain;
    background: #003d6b;
    border-radius: 50%;
}

body#showroom-page #group-prompt-questions .question-block .question-options li label p{
	margin: 0;
}

body#showroom-page #group-prompt-questions .question-block .question-options li label span.label-size{
    display: block;
    font-size: 18px;
	font-weight: 600;
}



/* Next button styling */
body#showroom-page #group-prompt-questions .questionnaire-actions{
	width: 100%;
	display: flex;
	justify-content: center;
}

body#showroom-page #group-prompt-questions .questionnaire-actions a.next-button{
	position: relative;
	overflow: hidden;
	color: #fff;
	border: 1px solid #fff;
	font-size: 16px;
	font-weight: 600;
	padding: 14px 30px;
	border-radius: 25px;
	display: inline-block;
	cursor: pointer;
	transition-duration: 0.2s;
}

body#showroom-page #group-prompt-questions .questionnaire-actions a.next-button:hover{
	background-color: #12598f;
}

body#showroom-page #group-prompt-questions.show-gs-message{
	filter: blur(10px);
}

body#showroom-page #group-prompt-questions .next-button.ready{
	border: none;
	background-color: #003d6b;
	position: relative;
	overflow: hidden;
}

body#showroom-page #group-prompt-questions .next-button.ready::before{
	content: '';
	position: absolute;
	top: 0;
	left: -75%;
	width: 50%;
	height: 100%;
	background: linear-gradient(120deg, rgba(150, 150, 150, 0.1) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0.1) 100%);
	transform: skewX(-25deg);
	animation: qbshine 2s infinite;
	opacity: 0.7;
}

@keyframes qbshine{
	0%{
		left: -75%;
	}
	100%{
		left: 125%;
	}
}




/**/
body#showroom-page #group-product-types{
	display: none;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 100px auto 0;
	padding-bottom: 80px;
	gap: 20px;
	width: 100%;
	max-width: 1500px;
	transition-duration: .2s;
}

body#showroom-page #group-product-types.active{
	display: flex;
}

body#showroom-page #group-product-types .gr-item{
	position: relative;
    background: #fcfcfc;
	background: #e0f7ff;
    border-radius: 15px;
    flex: 80%;
    margin: 0 10%;
}

body#showroom-page #group-product-types .gr-item.highlight{
	background: #fff;
	animation: breathingGlow 2s ease-in-out infinite;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
    transition: box-shadow 0.3s ease-in-out;
}

@keyframes breathingGlow{
    0%, 100%{
        box-shadow: 0 0 10px rgba(255, 255, 255, 0.1);
    }
    50%{
        box-shadow: 0 0 20px rgba(255, 255, 255, 1);
    }
}

body#showroom-page #group-product-types .gr-item .photo{
	width: 100%;
	height: 250px;
	display: flex;
	align-items: center;
	justify-content: center;
}

body#showroom-page #group-product-types .gr-item .photo img{
	display: block;
	width: 100%;
	max-width: 200px;
    object-fit: contain;
	transition-duration: 1s;
}

body#showroom-page #group-product-types .gr-item.gr2 img{

}

body#showroom-page #group-product-types .gr-item.gr4 img{
	max-height: 350px;

	object-fit: contain;
}


body#showroom-page #group-product-types .gr-item .content{
	padding: 0 30px 90px 30px;
3}

body#showroom-page #group-product-types .gr-item .content p{
	max-width: 200px;
}

body#showroom-page #group-product-types .gr-item:last-of-type .content p{
	max-width: 290px;
}

body#showroom-page #group-product-types .gr-item.selected .content p{
	font-weight: 500;
	color: #003d6b;
	max-width: 100%;
}

body#showroom-page #group-product-types .gr-item .content .buttons{
	display: flex;
	align-items: center;
	position: absolute;
    bottom: 35px;
	margin: 20px 0 0;
}

body#showroom-page #group-product-types .gr-item .content .buttons a.add-product{
	position: relative;
    overflow: hidden; 
    color: #fff;
    background-color: #87a3b8;
    font-size: 16px;
    font-weight: 600;
    padding: 14px 24px;
    border-radius: 25px;
    display: block;
    width: fit-content;
	margin: 0;
    transition-duration: .2s;
}

body#showroom-page #group-product-types .gr-item.highlight .content .buttons a.add-product{
    background-color: #003d6b;
}

body#showroom-page #group-product-types .gr-item.highlight .content .buttons a.add-product::before{
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 50%;
    height: 100%;
    background: linear-gradient(120deg, rgba(150, 150, 150, 0.1) 0%, rgba(255,255,255,0.4) 50%, rgba(255,255,255,0.1) 100%);
    transform: skewX(-25deg);
    animation: shine 2s infinite;
	opacity: .7;
}

@keyframes shine{
    0%{
        left: -75%;
    }
    100%{
        left: 125%;
    }
}

body#showroom-page #group-product-types .gr-item .content .buttons a.add-product:hover{
	background-color: #12598f;
	cursor: pointer;
}

body#showroom-page #group-product-types .gr-item.selected .content .buttons a.add-product{
    background: none;
    color: #003d6b;
    box-shadow: inset 0 0 0 3px #003d6b;
}

body#showroom-page #group-product-types .gr-item .content .buttons a.remove-product{
    margin-left: 10px;
	background: #eaeaea;
    color: #000;
	font-size: 14px;
	font-weight: 500;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
	opacity: 0;
	pointer-events: none;
	transition-duration: 0;

}

body#showroom-page #group-product-types .gr-item .content .buttons a.remove-product.active{
	opacity: 1;
	pointer-events: all;
	transition-duration: 2s;
}



body#showroom-page #group-product-types.show-gs-message{
	filter: blur(10px);
}




/* ================================================================================================================================ */
body#showroom-page .group-products{
	display: none;
	flex-wrap: wrap;
	align-items: flex-start;
    margin: 100px 0;
	gap: 20px;
	width: 100%;
}

body#showroom-page .group-products.active{
	display: flex;
}

body#showroom-page .group-products .column-filter{
	width: 100%;
}

body#showroom-page .group-products .column-filter > div{
	background-color: #fff;
	border-radius: 15px;
	padding: 40px 30px 30px;
}

body#showroom-page .group-products .column-filter .group-filter h4{
	display: inline-flex;
	align-items: center;
	justify-content: space-between;
	width: 90%;
    color: #000000;
    font-weight: 500;
    font-size: 14px;
    margin: 0 10px;
    border-top: 1px solid #d7d7d7;
    padding-top: 15px;
	margin-top: 10px;
}

body#showroom-page .group-products .column-filter .group-filter h4 span{
}

body#showroom-page .group-products .column-filter .group-filter h4 span a{
    display: flex;
    font-size: 12px;
    text-shadow: 2px 2px 10px #000;
    background: #b5b5b5;
    text-align: center;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    padding: 0;
    width: 20px;
    height: 20px;
    color: #fff !important;
}

body#showroom-page .group-products .column-filter .group-filter h4 span a::before{
	display: none !important;
}

body#showroom-page .group-products .column-filter .group-filter:first-of-type h4{
	border: none;
	margin-top: 0;
	padding-top: 0;
}

body#showroom-page .group-products .column-filter .group-filter a{
	position: relative;
    color: #9c9c9c;
	font-size: 14px;
    display: block;
    background: #fff;
    padding: 6px 35px;
    margin: 0
    border-radius: 30px;
    width: auto;
    line-height: 100%;
    font-weight: 500;
    transition-duration: .2s;
	width: fit-content;
}

body#showroom-page .group-products .column-filter .group-filter a:hover{
	cursor: pointer;
	color: #37aae1;
}

body#showroom-page .group-products .column-filter .group-filter a.active{
	color: #37aae1;
	color: #033d6b;
}

body#showroom-page .group-products .column-filter .group-filter a.active:before{
    content: "";
    display: block;
    width: 8px;
    height: 8px;
    position: absolute;
    left: 15px;
    background: #26bef7;
	background: #033d6b;
    border-radius: 50%;
    margin-top: 2px;
}

body#showroom-page .group-products .grr-right{
	flex: 100%;
	display: flex;
	background-color: #fff;
    border-radius: 15px;
	transition-duration: .2s;
}

body#showroom-page .group-products .grr-right > div{
	width: 100%;
}

body#showroom-page .group-products .grr-right .help-bar{
	display: block;
	opacity: 0;
	height: 0;
	padding: 0 50px;
	transition-duration: 1s;
}

body#showroom-page .group-products .grr-right .help-bar.active{
	opacity: 1;
	height: auto;
	padding-top: 50px;
	padding-bottom: 20px;
}

body#showroom-page .group-products .grr-right .help-bar p{
	color: #033d6b;
    font-weight: 500;
    text-align: center;
}

body#showroom-page .gi-brands-and-products-wrapper{
	overflow: hidden;
	height: 0;
	opacity: 0;
	transition: all .8s;
	pointer-events: none;
    border-radius: 15px;
}

body#showroom-page .gi-brands-and-products-wrapper.active{
	height: auto;
	opacity: 1;
	pointer-events: auto;
}

body#showroom-page .gi-brands-and-products-wrapper .no-products-message{
    width: 90%;
    margin: auto;
}

/*
body#showroom-page .gi-brands-and-products-wrapper .gi-brand-information{
	padding: 50px;
	margin: 20px 0 0;
	background-color: #fff;
    border-radius: 15px;
}

body#showroom-page .gi-brands-and-products-wrapper .gi-brand-information .gi-logo{
	margin: 0 0 30px;
}

body#showroom-page .gi-brands-and-products-wrapper .gi-brand-information .gi-logo img{
	display: block;
	width: 100%;
	width: auto;
	height: 50px;
	object-fit: contain;
}
*/

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products{
	display: flex;
	flex-wrap: wrap;
    padding: 20px 10% 30px;
	margin: 0 -1.5%;
	word-break: break-word;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product{
    position: relative;
	display: block;
    flex: 0 0 100%;
	margin: 10px 0;
    padding: 10px 0 40px;
	opacity: .4;
	filter: grayscale(1) blur(2px);
	cursor: not-allowed;
	transition-duration: .2s;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product.selected{
    box-shadow: inset 0 0 0 2px #106c91;
	box-shadow: 0px 0px 10px #106c9154;
	animation: breathingSelectedProduct 2s ease-in-out infinite;
    border-radius: 25px;
	transform: translateY(20px);
}

@keyframes breathingSelectedProduct{
    0%, 100%{
		box-shadow: 0px 0px 10px #dbefff;	
    }
    50%{
		box-shadow: 0px 0px 10px #87a3b8;
    }
}


body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product.selected > div{
	padding: 0 30px 20px;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product.selected h3{
	margin-top: 0;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product.selected .buttons{
	width: calc(100% - 60px);
	bottom: 20px;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product.active.active-brand.active-size.active-type{
	opacity: 1;
	filter: none;
	pointer-events: all;
	cursor: default
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product img{
    display: block;
    width: 100%;
    height: 200px;
    object-fit: contain;
    margin: 0 auto;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product h3{
    color: #003d6b;
	font-size: 16px;
    font-weight: 500;
}


body#showroom-page #group-inverters.group-products .gi-brands-and-products-wrapper .gi-products .gi-product h3 span.battery-compatible{
	display: block;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product h3 span.battery-compatible{
	display: none;
	color: #319ed2;
	font-size: 12px;
	font-weight: 600;
	margin: 2px 0 0;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product h3 span.battery-compatible.non{
    color: #808080;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product .desc-1{
	color: #37aae1;
	margin-bottom: 0;
	display: none;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product .desc-1 span{
	display: block;
	line-height: 100%;
    margin-right: 2px;
    margin-bottom: 2px;
    font-size: 14px;
    font-weight: 400;
    background: none;
    color: #9c9c9c;
	color: #d82d2d;
    padding: 0;
	margin: 4px 0;
    border-radius: 20px;
    width: 100%;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product .desc-1 span::before{
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #9c9c9c;
    margin-right: 6px;
    transform: translateY(-2px);
}



body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product .desc-2{
	color: #37aae1;
	color: #b5b5b5;
    font-size: 14px;
    line-height: 120%;
}

/**/

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product .buttons{
    position: absolute;
    bottom: 0;
    color: #fff;
    width: 100%;
    display: flex;
    align-items: center;
    gap: 5px;
	pointer-events: none;
	opacity: .05;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product.active.active-brand.active-size.active-type .buttons{
	pointer-events: all;
	opacity: 1;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product .buttons a.select{
    color: #fff;
	background: #003d6b;
    font-size: 13px;
    font-weight: 600;
    line-height: 100%;
    padding: 10px 14px;
    border-radius: 20px;
    transition-duration: .2s;
    text-shadow: 2px 2px 10px rgb(0 0 0 / 21%);
    display: flex;
    flex: 1;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product.selected .buttons a.select{
	background: #87a3b8;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product.selected .buttons a.more-info{
    border-color: #87a3b8;
    color: #87a3b8;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product.selected .buttons a.more-info:hover{
	border-color: #12598f;
	color: #fff;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product .buttons a.select:after{
	content: "";
	width: 8px;
	height: 8px;
	background-image: url(https://solarpowerdirect.com.au/images/showroom-kiosk/arrow-right-white.svg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	margin-left: auto;
	margin-top: 2px;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product .buttons a.select:hover{
	cursor: pointer;
	background: #12598f;
} 

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product .buttons a.more-info{
    border: 2px solid #033d6b;
    color: #033d6b;
    text-decoration: none;
    font-size: 12px;
    font-weight: 900;
    display: inline-flex;
    height: 28px;
    width: 28px;
    flex: 0 0 28px;
    padding: 0;
    align-items: center;
    justify-content: center;
    border-radius: 30px;
    transition-duration: .2s;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product .buttons a.more-info:hover{
    background: #12598f;
	color: #fff;
	cursor: pointer !important;
}

/**/

body#showroom-page .fancybox-bg{
    background: #319ed2fa;
}

body#showroom-page .fancybox-content{
	border-radius: 15px;
	overflow: hidden;
}

.fancybox-content{
	border-radius: 15px;
	overflow: hidden;
}

body#showroom-page button[data-fancybox-close]{
	background: #003d6b;
    color: #fff;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    padding: 7px;
    top: 20px;
    right: 20px;
    text-shadow: 2px 2px 10px #000;
}

.product-popup-design-1{
	border-radius: 15px;
	width: 90%;
	max-width: 1000px;
}

.product-popup-design-1 .product-popup-content{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}

.product-popup-design-1 .product-popup-content .photo{
	flex: 0 0 250px;
	margin: 0 0 30px;
}

.product-popup-design-1 .product-popup-content .photo img{
	display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.product-popup-design-1 .product-popup-content .content{
	flex: 100%;
}

.product-popup-design-1 .product-popup-content .content h2{
	font-size: 20px;
	font-weight: 600;
	color: #003d6b;
}

.product-popup-design-1 .product-popup-content .content .prod-intro div{
	display: table-row;
}

.product-popup-design-1 .product-popup-content .content .prod-intro .label,
.product-popup-design-1 .product-popup-content .content .prod-intro .value{
	display: table-cell;
	font-size: 14px;
	line-height: 100%;
	padding: 4px 10px 4px 0;
	vertical-align: top;
	text-align: left;
}

.product-popup-design-1 .product-popup-content .content .prod-intro .label{
	font-weight: 600;
	text-align: left;
	white-space: nowrap;
	padding-right: 20px;
}

.product-popup-design-1 .product-popup-content .content .prod-desc{
	border-top: 1px solid #cbcbcb;
    margin-top: 15px;
    padding-top: 15px;
}

.product-popup-design-1 .product-popup-content .content .prod-desc{

}

.product-popup-design-1 .product-popup-content .content .prod-desc p{
	margin: 0;
	font-size: 14px;
}

.product-popup-design-1 .product-popup-content .content .prod-desc .buttons{
	margin: 15px 0 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.product-popup-design-1 .product-popup-content .content .prod-desc .buttons .right{
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-popup-design-1 .product-popup-content .content .prod-desc .buttons a.select,
.product-popup-design-1 .product-popup-content .content .prod-desc .buttons a.pdf,
.product-popup-design-1 .product-popup-content .content .prod-desc .buttons a.brand,
.product-popup-design-1 .product-popup-content .content .prod-desc .buttons a.video{
	color: #fff;
    background: #003d6b;
    font-size: 13px;
    font-weight: 600;
    line-height: 100%;
    padding: 10px 14px;
    border-radius: 20px;
    text-shadow: 2px 2px 10px rgb(0 0 0 / 21%);
    display: flex;
    width: fit-content;
    text-decoration: none;
    margin: 0 5px 0 0;
	transition-duration: .2s;
	text-align: center;
}

.product-popup-design-1 .product-popup-content .content .prod-desc .buttons .right a.pdf,
.product-popup-design-1 .product-popup-content .content .prod-desc .buttons .right a.brand,
.product-popup-design-1 .product-popup-content .content .prod-desc .buttons .right a.video{
	color: #fff;
    background: #b4b4b4;
}

.product-popup-design-1 .product-popup-content .content .prod-desc .buttons .right a.pdf:hover,
.product-popup-design-1 .product-popup-content .content .prod-desc .buttons .right a.brand:hover,
.product-popup-design-1 .product-popup-content .content .prod-desc .buttons .right a.video:hover{
	color: #fff;
    background: #787878;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper h3.subheading{
	flex: 0 0 100%;
	color: #003d6b;
    margin: 50px 50px 0 50px;
}

body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product .buttons a.select:hover{
	cursor: pointer;
	background: #12598f;
} 


body#showroom-page .group-products .gi-brands-and-products-wrapper .subbreaker{
    background: #eeeeee;
    width: calc(100% - 100px);
    height: 2px;
    margin: 0 auto;
}

/**/

body#showroom-page #group-help > div{
	width: 100%;
}

body#showroom-page #group-help .gr-help-points-wrapper img.gr-help-points-photo{
    display: block;
    width: 80%;
	margin: 0 auto;
    height: auto;
    max-width: 900px;
    object-fit: contain;
	z-index: 1;
}

body#showroom-page #group-help .gr-help-points-wrapper .gr-help-points{
	position: relative;
	z-index: 2;
    width: 90%;
    height: 200px;
    margin: -50px auto 0;
}


/**/

body#showroom-page #group-system-message{
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    max-width: 100%;
    background: #319ed2bf;
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    padding: 15px 30px;
    border-radius: 0;
    opacity: 0;
    pointer-events: none;
    transition-duration: 0.2s;
    z-index: 2;
}



body#showroom-page #group-system-message.active{
	opacity: 1;
	pointer-events: all;
}

body#showroom-page #group-system-message .gsm{
	display: none;
	align-items: center;
	justify-content: center;
}

body#showroom-page #group-system-message .gsm.active{
	display: block;
}

body#showroom-page #group-system-message .gsm p{
	font-size: 20px;
	margin: 0;
}

body#showroom-page #group-system-message .gsm .buttons{
	margin: 20px 0 0;
}

body#showroom-page #group-system-message .gsm .buttons a{
	color: #fff;
    display: inline-flex;
    align-items: center;
    border: 2px solid #fff;
    font-size: 14px;
    padding: 12px 30px;
    border-radius: 30px;
}

body#showroom-page #group-system-message .gsm .buttons a[data-products-group]{
    background-color: #003d6b;
	transition-duration: .2s;
}

body#showroom-page #group-system-message .gsm .buttons a[data-products-group]:hover{
    background-color: #12598f;
}

/**/

body#showroom-page #group-system-message-all-items-added{
	/*background: #217ca8;*/
	display: flex;
    align-items: center;
    position: fixed;
	pointer-events: none;
	text-align: center;
    justify-content: center;
	color: #fff;
	z-index: 2;
	height: 35px;
    font-size: 16px;
    font-weight: 600;
    padding: 15px 30px;
    width: 100%;
	opacity: 0;
	transition-duration: .2s;
	border-radius: 50px;
    max-width: 800px;
    bottom: 0;
}

body#showroom-page #group-system-message-all-items-added.active{
	opacity: 1;
	pointer-events: all;
}

body#showroom-page #group-system-message-all-items-added .gsm{
	display: flex;
	align-items: center;
}

body#showroom-page #group-system-message-all-items-added .gsm p{
	margin: 0;
}

body#showroom-page #group-system-message-all-items-added .gsm .buttons{
	margin-left: 15px;
}

body#showroom-page #group-system-message-all-items-added .gsm .buttons a{
    color: #fff;
    display: inline-flex;
    align-items: center;
    border: 2px solid #fff;
    border-radius: 20px;
    font-size: 14px;
    padding: 4px 15px;
}

body#showroom-page #group-system-message-all-items-added .gsm .buttons a{
    background-color: #003d6b;
	transition-duration: .2s;
}

body#showroom-page #group-system-message-all-items-added .gsm .buttons a:hover{
    background-color: #12598f;
}





/*-- Cart Panel --------*/


body#showroom-page #group-product-types .get-quote-form-panel{
	display: flex;
	flex-wrap: wrap;
	pointer-events: none;
	background: #fff;
	flex: 0 0 100%;
	border-radius: 15px;
	height: 0;
	transition-duration: 2s;
	overflow: hidden;
}

body#showroom-page #group-cart-panel{

}

body#showroom-page #group-cart-panel .get-QR-code-panel{
    flex: 0 0 300px;
    text-align: center;
    padding: 30px;
    width: 100%;
    border-radius: 15px;
	box-shadow: inset 0 0 0 5px #fff;
}

body#showroom-page #group-cart-panel .get-QR-code-panel > div{
    background: #fff;
    border-radius: 15px;
}

body#showroom-page #group-cart-panel .get-QR-code-panel > div{
	padding: 60px 40px;
}

body#showroom-page #group-cart-panel .get-QR-code-panel .qr-container{
	min-height: 150px;
	position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
	margin-top: 30px;
}

body#showroom-page #group-cart-panel .get-QR-code-panel .qr-container img.qr{
	display: block;
	width: 100%;
	max-width: 150px;
	height: auto;
	object-fit: contain;
	margin: 0 auto;
}

body#showroom-page #group-cart-panel .get-QR-code-panel .qr-container .qr-spinner{
	display: none;
	width: 32px;
	height: 32px;
	border: 4px solid rgba(0, 0, 0, 0.1);
	border-top-color: #333;
	border-radius: 50%;
	animation: spin 1s linear infinite;
	margin: auto;
    position: absolute;
}

@keyframes spin{
	to{
		transform: rotate(360deg);
	}
}


body#showroom-page #group-cart-panel .get-quote-form-panel{
	flex: 1;
    pointer-events: all;
    padding: 50px;
    width: 100%;
    background: #fff;
	border-radius: 15px;
}

body#showroom-page #group-product-types .get-quote-form-panel > div{
	padding: 50px;
}

body#showroom-page #group-cart-panel .get-quote-form-panel [data-field-container="introduction"]{
	display: none;
}

body#showroom-page #group-cart-panel .get-quote-form-panel form .prodgroup .freeform-row > div{
	width: 100%;
}

body#showroom-page .freeform-form-success{
    background: #26bef7;
    border: none;
    text-align: center;
    border-radius: 30px;
}

body#showroom-page .freeform-form-success p{
	font-size: 15px;
    font-weight: 600;
	margin: 5px;
}

body#showroom-page #group-cart-panel .get-quote-form-panel form .prodgroup label.group-label{
	display: none;
}

body#showroom-page #group-cart-panel .get-quote-form-panel form .prodgroup .form-product-photo{
	width: 100%;
}

body#showroom-page #group-cart-panel .get-quote-form-panel form .prodgroup label{
	margin: 0 0 5px;
}

body#showroom-page #group-cart-panel .get-quote-form-panel form .prodgroup label span{
    display: block;
    background: none;
    font-size: 14px;
    margin: 10px 0 0;
    color: #37aae1;
}

body#showroom-page #group-cart-panel .get-quote-form-panel form .prodgroup label span.noprodselected{
	color: #bebebe;
}

body#showroom-page #group-cart-panel .get-quote-form-panel form .prodgroup input{
	border: none;
    padding: 0;
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 14px;
	display: none;
}

body#showroom-page #group-cart-panel .get-quote-form-panel form input{
    margin: 10px 0 0;
    color: #37aae1;
}

body#showroom-page #group-cart-panel .get-quote-form-panel form button[type="submit"]{
	display: flex;
	justify-content: center;
	align-items: center;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
	text-shadow: 2px 2px 10px rgb(0 0 0 / 30%);
    box-shadow: 2px 2px 5px rgb(0 0 0 / 10%);
    background: #26bef7;
	border: none;
    padding: 12px 24px;
    border-radius: 20px;
    line-height: 100%;
	transition-duration: .2s;;
}

body#showroom-page #group-cart-panel .get-quote-form-panel form button[type="submit"]:hover{
	cursor: pointer;
    background: #4cccf9;
}



body#showroom-page #group-cart-panel .get-quote-form-panel form img{
	display: block;
	width: 100%;
	max-width: 100px;
	height: auto;
}


*/









/*-- TV VIEW ------------------------------------------- --*/



body#showroom-page .showroom-page-wrapper,
body#showroom-page header,
body#showroom-page #group-product-types .gr-item .photo img,
body#showroom-page header,
body#showroom-page #group-product-types,
body#showroom-page .group-products{
	transition-duration: .2s;
}

/**/

body#showroom-page.view-tv .showroom-page-wrapper,
body#showroom-page.view-tv header{
	display: flex;
	width: 90%;
    max-width: 1100px;
}

body#showroom-page.view-tv header,
body#showroom-page.view-tv #group-product-types,
body#showroom-page.view-tv .group-products{

}


/* Group All Products panel*/
body#showroom-page.view-tv #group-product-types .gr-item .photo img{
	transform: scale(0.80) translateY(20px);
	margin-bottom: 30px;
}

body#showroom-page.view-tv #group-product-types .gr-item .content h3{
	font-size: 22px;
	margin: 0 0 10px;
}

body#showroom-page.view-tv #group-product-types .gr-item .content{
    padding: 0 30px 60px 30px;
    margin-top: -50px;
}

body#showroom-page.view-tv #group-product-types .gr-item .content p{
	font-size: 14px;
}

body#showroom-page.view-tv #group-product-types .gr-item .buttons{
	bottom: 25px;
}

body#showroom-page.view-tv #group-product-types .gr-item .buttons a.add-product{
    font-size: 12px;
    padding: 6px 15px;
}



/**/

@media(min-width:500px){
	body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product{
		flex: 0 0 47%;
		margin: 10px 1.5%;
	}
}

@media(min-width:768px){


	body#showroom-page header{
		margin: 50px auto 0;
	}

	body#showroom-page header .logo img{
		max-width: 250px;
	}	

	#header .header_top .logo.logo-15-years img{
		width: 280px;
	}

	body#showroom-page header .nav{
		display: flex;
	}


	body#showroom-page #toolbar-bottom{
		display: flex;
	}

	body#showroom-page #group-product-types{
		margin: 150px auto 0;
		padding-bottom: 0;
	}

	/**/

	body#showroom-page #group-introduction .intro-image{
		width: 80%;
	}

	body#showroom-page #group-introduction a.get-started{
		margin-top: -140px;
		font-size: 16px;
		padding: 14px 34px;
	}

	body#showroom-page #group-prompt-questions{
		margin: 150px auto 0;
	}

	body#showroom-page #group-prompt-questions .question-block{
		padding: 40px;
		margin: 0;
	}

	body#showroom-page #group-prompt-questions .questionnaire-actions{
		margin-top: 40px;
	}

	body#showroom-page #group-prompt-questions .question-block h2.s1{
		font-size: 24px;
	}

	body#showroom-page #group-prompt-questions .question-block p.s2{
		margin: 5px 0 25px;
	}

	/**/
	body#showroom-page .group-products{
		margin: 150px 0;
	}

	body#showroom-page #group-product-types .gr-item{
		flex: 1;
		margin: 0;
	}

	body#showroom-page #group-product-types .gr-item .photo{
		margin: -100px auto 0;
		padding-bottom: 20px;
		height: 300px;
		align-items: end;
	}

	body#showroom-page #group-product-types .gr-item .photo img{
		margin-top: -100px;
		max-width: 300px;
	}

	body#showroom-page #group-product-types .gr-item.gr2 img{
		margin-top: -50px;
		max-width: 250px;
	}
	
	body#showroom-page #group-product-types .gr-item.gr4 img{
		margin-top: -50px;
		max-width: 300px;
		max-height: 350px;
	}

	body#showroom-page #group-product-types .gr-item .content{

	}

	/**/


	body#showroom-page .group-products .grr-right{
		flex: 1;
	}
	
	body#showroom-page .group-products .column-filter{
		width: calc((100% - 60px) / 4); 
	}

	body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products{
		padding: 30px 50px 50px;
	}

	body#showroom-page .group-products .gi-brands-and-products-wrapper .gi-products .gi-product{
		flex: 0 0 30.33%;
		margin: 0 1.5% 20px;
	}

	.product-popup-design-1 .product-popup-content{

	}

	.product-popup-design-1 .product-popup-content .content{
		flex: 1;
		padding-left: 30px;
	}

	.product-popup-design-1 .product-popup-content .content h2{
		margin-right: 30px;
	}

	.product-popup-design-1 .product-popup-content .content .prod-intro .label{
		text-align: right;
	}
	

	/* coa */



}


@media(min-width:1500px){
	body#showroom-page header .nav li a{
		padding: 12px 40px 12px 40px;
		font-size: 18px;
	}

	body#showroom-page .group-products .column-filter > div{
		padding: 40px 50px;
	}
}



/*-- ------------------------------------------------------ --*/
/*-- ------------------------------------------------------ --*/
/*-- Website Updates September 2025 --*/
/*-- ------------------------------------------------------ --*/
/*-- ------------------------------------------------------ --*/

/* WUSA. General */


@media(min-width: 1280px){
	
	#header .header_bot > ul > li.create_package_wrap{
		margin-left: 10px;
	}

	#header .header_bot > ul > li.create_package_wrap a{
		color: #005698;
		background-color: #fff;
		border: 2px solid #005698;
		transition-duration: .2s;
		font-size: 16px;
		padding: 14px 18px;
	}

	#header .header_bot > ul > li.create_package_wrap a:hover{
		color: #1272bb;
		background-color: #fff;
		border-color: #1272bb;
	}
}



/* WUS1. homepage */
#home_feature .panel_maxwidth{
	width: 100%;
}

#home_feature .fg{
	width: 90%;
    margin: 0 auto;
    text-align: center;
}

#home_feature .fg .text{
	margin: 0 auto;
}

#home_feature .fg .text .subline{
	color: #fff;
    max-width: 650px;
    margin: 0 auto;
}

#home_boxes{
	position:relative;
	z-index:20;
}

#home_boxes .box{
	position:relative;
	display:flex;
	align-items:center;
	padding: 50px;
	background-size:cover;
	background-position:center center;
}

#home_boxes .box img.icon{
	display: block;
	object-fit: contain;
	width: 30px;
	height: 30px;
	margin-right: 15px;
	margin-bottom: 0;
}

#home_boxes .box .headline{
	margin-bottom:0.5em;
}

#home_boxes .box .subline{
	margin-bottom: 20px;
}

#home_boxes .box_residential{
	position: relative;
	overflow: hidden;
	background-color: #43a9d6;
	color:#fff;
}

#home_boxes .box_residential iframe.video-bg{
	position: absolute;
	top: 0;
	width: 100%;
	height: 100%;
	transform: scale(2);
	object-fit: cover;
	pointer-events: none;
}

#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_commercial{
	background-color:#f5f5f5;
}

#home_boxes .box_batteries{
	background-color:#37aae1;
	color:#fff;
}

#home_boxes .box_batteries .col_image img{
	display: block;
	width: 200px;
	max-width: 100%;
	height: auto
}

#home_boxes .box_grants{
	background-color: #245e97;
	color: #fff;
}

#home_boxes .box_savings{
	background-color: #0d6bb0;
	color: #fff;
}

#home_boxes .box_maintenance{
	background-color: #3984be;
	color: #fff;
}

#home_boxes .box_photo{
	background-color:#999;
}

#home_boxes .box_residential .content{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	width: 100%;
}

#home_boxes .box_residential img.photo{
	display: block;
	width: 100%;
    max-width: 150px;
    margin: 0 0 20px;
	height: auto;
	object-fit: contain;
}

#home_boxes .box_residential .content .text p{
	max-width: 320px;
}
	
#home_boxes .box_commercial{
	padding: 50px;
}

#home_boxes .box_commercial h2.headline{
	color: #005698;
}

#home_boxes .box_commercial .col_image .cutout{
	display: block;
	width:auto;
	max-width: 100%;
	height: 250px;
	object-fit: contain;
	margin: -20px 0 30px 0;
}

#home_boxes .box.box_commercial .col_text{
	z-index: 1;
}

#home_boxes .box.box_commercial .col_text h2,
#home_boxes .box.box_commercial .col_text p{
	text-shadow: 2px 2px 2px #efeff3;
}

#home_boxes .box_awards img{
	display: block;
	margin: 0 auto;
	width: 420px;
	max-width: 100%;
	height: auto;
}

#home_boxes .box_photo{
	height: 300px;
}

.box.box_residential{
	display: flex;
	flex-wrap: wrap;
}

.box.box_residential .s1{
	margin-bottom: 50px;
}

.box.box_residential p.subline{
	max-width: 330px;
	line-height: 120%;
	margin-bottom: 25px;
}

@media(min-width:1024px){
	#home_boxes .box{
		padding:50px 10%;
	}

	#home_boxes .box > div{
		display: flex;
		flex-wrap: wrap;
	}
	
	#home_boxes .box > div.nocols{
		flex-wrap: nowrap;
	}

	#home_boxes .box img.icon{
		margin-bottom: 0;
	}

	#home_boxes .box_residential .content{ 
		justify-content: space-around;
	}

	#home_boxes .box_residential img.photo{
		margin-right: 50px;
		width: 100%;
		max-width: 200px;
		margin: 0;
	}

	#home_boxes .box_residential .content .text p{
		max-width: 200px;
	}

	#home_boxes .box_commercial{
		padding: 100px 80px;
	}

	#home_boxes .box_commercial .cols{
		display:flex;
		align-items:center;
		justify-content: space-between;
		flex-direction:row-reverse;
	}

	#home_boxes .box_commercial .col_image .cutout{
        height: 520px;
        position: absolute;
        bottom: 0;
        right: 4%;
		margin: 0;
	}

	#home_boxes .box .col_text {
		flex: 0 0 60%;
	}

	#home_boxes .box_awards img{
		width: 640px;
	}

	#home_boxes .box_maintenance{
		background-color: #0d6bb0;
	}

	#home_boxes .box_photo{
		height: auto;
	}

}


@media(min-width:1400px){
	#home_boxes .box_residential img.photo{
		max-width: 340px;
	}
}


/* WUS2. brands individual page - related projects */
.brand-hero-slide{
	position: relative;
	display: flex;
	align-items: center;
	background: #005698;
	background: #4b4b4b;
	min-height: 300px;
	width: 100%;
	padding: 80px 0;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
}

.brand-hero-slide .panel_maxwidth{
	position: relative;
}

.brand-hero-slide .shade{
	position: absolute;
	pointer-events: none;
	background-color: rgb(0 0 0 / 40%);
	width: 100%;
	height: 100%;

}

.brand-hero-slide .content{
	padding: 0 10px;
}

.brand-hero-slide .content .logo{
    margin: 0 0 30px;
    max-width: 200px;
    max-height: 100px;
    object-fit: contain;
}

.brand-hero-slide .content h2{
	color: #fff;
	font-size: 35px;
	margin: 0 0 20px;
	max-width: 800px;
}

.brand-hero-slide .content p{
	color: #fff;
	font-weight: 500;
	text-shadow: 2px 2px 10px rgb(0 0 0 / 25%);
    max-width: 600px;
}

.brand-hero-slide .content .button{
	padding-left: 15px;
	padding-right: 15px;
	margin-top: 30px;
	display: none;
}

/**/
#brand-product .content .page-content{
	padding: 40px 30px;
}

#brand-product .image > div{
	padding: 0 30px 30px;
}


/**/

#brand-related-projects{
    background-color: rgb(55 170 225);
    background: linear-gradient(90deg, rgb(55 170 225), #015698);
}

#brand-related-projects h3{
	color: #fff;
}

#brand-related-projects .projects {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;   
}

#brand-related-projects .projects .project {
    flex: 1 1 calc(25% - 30px);
	border-radius: 5px;
}

#brand-related-projects .projects .project .photo img{
	display: block;
	width: 100%;
	aspect-ratio: 3/2;
	object-fit: cover;
	border-radius: 5px;
}

#brand-related-projects .projects .project .text > div{
	padding: 20px;
}

#brand-related-projects .projects .project .text h3{
	margin: 0 0 10px;
}

#brand-related-projects .projects .project .text p{
	color: #fff;
}

#brand-related-projects .projects .project .text .button{
	margin-top: 5px;
}


/**/
#brand-downloads{
    background-color: rgb(55 170 225);
    background: linear-gradient(90deg, rgb(55 170 225), #015698);
}

#brand-downloads h3{
	color: #fff;
}

#brand-downloads .dl-items a.dl-item{
    background-color: #fff;
    border-radius: 15px;
    display: block;
	text-decoration: none;
	transition-duration: .4s;
	margin: 10px 0;
}

#brand-downloads .dl-items a.dl-item:hover{
	transform: translateX(5px);
	cursor: pointer;
}

#brand-downloads .dl-items a.dl-item > div{
	padding: 30px;
}

#brand-downloads .dl-items a.dl-item h3{
	color: #005698;
	font-size: 20px;
	margin: 0 0 10px;
}

#brand-downloads .dl-items a.dl-item p{
	margin: 0;
}

@media(min-width:768px){
	#brand-downloads .dl-items{
		display: flex;
		flex-wrap: wrap;
		margin: 0 -1%;
	}

	#brand-downloads .dl-items a.dl-item{
		flex: 0 0 48%;
		margin: 1%;
	}
}

/* WUS3. brands individual page - related projects */
#brand-related-videos{
    background-color: #2d2d2d;
	background: linear-gradient(45deg, #2d2d2d, #121212);
}

#brand-related-videos h3{
	color: #fff;
}

#brand-related-videos .videos {
	display: flex;
	flex-wrap: wrap;   /* allow wrapping into multiple rows */
	gap: 15px;         /* space between items */
}

#brand-related-videos .videos .video {
    flex: 1 1 calc(33.333% - 15px);
    /*background: #525252;*/
	background-color: #000000;
    aspect-ratio: 16 / 9;
	border-radius: 5px;.panel_cta_showroom > div
}



/* WUS4. brands individual page - brand products*/
.brand-products-suite-wrapper{
	padding: 50px 0 10px;
    background-color: rgb(55 170 225);
    background: linear-gradient(90deg, rgb(55 170 225), #015698);
}

.brand-products-suite-wrapper h3.phg{
	color: #fff;
}

/* WUS4. brands individual page - brand product introduction */

#brand-product .page-content .text {
	max-height: 300px;
	overflow: hidden;
	transition: max-height 0.5s ease;
  }
  
#brand-product .page-content {
	position: relative;
}
  
#brand-product .page-content .text {
	max-height: 400px;
	overflow: hidden;
	position: relative;
	transition: max-height 0.5s ease;
}
  
#brand-product .page-content .text::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	height: 50px; /* height of the gradient fade */
	background: linear-gradient(to bottom, rgba(255,255,255,0), #f5f5f5);
	pointer-events: none; /* let clicks pass through */
	transition: opacity 0.3s ease;
}

#brand-product .page-content .text.hide-after::after{
	display: none;
}

#brand-product .page-content .text.expanded::after {
	opacity: 0;
}

#brand-product .page-content .read-more.button{
	color: #fff;
	text-decoration: none;
	margin-top: 15px;
	transition-duration: .2s;
}

#brand-product .page-content .read-more.button.less{
	background-color: #c7c7c7;
}

#brand-product .page-content .read-more.button:hover{
	cursor: pointer;
}

/**/
#brand-product .image > div{
	
}

#brand-product .image .link-buttons{
	margin-right: 30px;
}

#brand-product .image .link-buttons a.button{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	padding: 0;
	height: auto;
	width: 160px;
	border-radius: 30px;
	overflow: hidden;
	margin: 10px 0;
	background-color: #035699;
}

#brand-product .image .link-buttons a.button img{
    width: 20px;
    height: 20px;
    background-color: #0a4574;
    margin-right: 10px;
    border-radius: 40px;
    border: none;
    padding: 15px;
}

#brand-product .image .poster img{
	border-radius: 15px;
}


/**/

#page_product_individual .product > div.content .logo{
	margin: 0;
}

#page_product_individual .product .breadcrumbs{
	margin-bottom: 10px;
}

@media(min-width:768px){

	.brand-hero-slide{
		min-height: 800px;
	}

	.brand-hero-slide .content{
		margin-top: 40px;
		padding: 0;
	}

	.brand-hero-slide .content h2{
		font-size: 60px;
	}

	.brand-hero-slide .content .button{
		display: inline-block;
	}

	/**/
	
	#page_product_individual .product > div.content > div{
		padding-right: 5%;
	}

	#page_product_individual .product .content > div{
		padding: 60px;
	}

	#page_product_individual .product .image{

	}

	#page_product_individual .product .image > div{
		padding: 60px;
	}
	
	/**/


	/**/

	#brand-products-suite{
		padding: 20px 0;
	}

	#brand-products-suite ul > li{
		flex: 0 0 32.33%;
		margin: .5%;
	}

	#brand-products-suite[data-product-count="1"] ul > li{
		flex: 0 0 99%;
		margin: .5%; 
	}

	#brand-products-suite[data-product-count="1"] ul > li .download_item_photo{
		max-height: 240px;
		max-width: 300px;
		margin: 20px 0;
	}

	#brand-products-suite[data-product-count="2"] ul > li{
		flex: 0 0 48%;
		margin: .5%; 
	}

	/**/
	#page_product_individual #brand-product.product > div.content{
		flex: 0 0 50%;
	}

	#page_product_individual #brand-product.product > div.image{
		flex: 0 0 50%;
	}

	/**/
	#brand-product .content .page-content{
		padding: 0;
	}

	#brand-product .image > div{
		display: flex;
	}
	
	#brand-product .image .link-buttons{
        flex: auto;
        margin-right: 20px;
	}
	
	#brand-product .image .poster{
		flex: auto;
	}

		
	#brand-product .image .poster img{
		display: block;
	}
	
	/**/
	.brand-products-suite-wrapper h3.phg{
		margin: 60px .5% 20px;
	}


}


@media(min-width:1400px){
	#page_product_individual .product .content > div{
		padding: 100px;
	}

}





/*-- --------------------------------------------- --*/
#page-products-suite{
    background-color: rgb(55 170 225);
    background: linear-gradient(90deg, rgb(55 170 225), #015698);
}

.products-toolbar{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 20px;
}

.products-toolbar h1{
	flex: auto;
	display: block;
	margin: 0 0 20px;
	color: #fff;
} 

.products-toolbar #react-filters label{
	position: relative;
	display: inline-flex;
	align-items: center;
	width: 100%;
	margin-bottom: 10px;
}

.products-toolbar #react-filters label span{
	position: relative;
	font-size: 14px;
	font-weight: 500;
    margin-right: 10px;
	color: #015698;
	color: #fff;
	min-width: 90px;
}

.products-toolbar #react-filters label select{
    padding: 8px 15px;
    border: none;
    background-color: #fff;
    box-shadow: 2px 2px 10px rgb(0 0 0 / 10%);
    outline: none;
    border-radius: 20px;
    font-size: 15px;
    font-weight: 700;
    color: #888888;
	width: 100%;
	height: 40px;
}

.products-toolbar #react-filters button.reset{
	color: #fff;
	background-color: #9e9e9e;
	background-color: #000;
	border: none;
	font-size: 14px;
	font-weight: 600;
	height: 40px;
	padding: 0 16px;
	border-radius: 30px;
	transition-duration: .2s;
	border: 2px solid #fff;
}

.products-toolbar #react-filters button.reset:hover{
	background-color: #bababa;
}

/* Headings for grouped products */
.products-wrapper-design-1 .group-heading {
	flex: 0 0 100%;
	width: 100%;
	margin: 20px 1% 10px;
	font-size: 22px;
	font-weight: 600;
	color: #005698;
}

.products-wrapper-design-1 .brand-logo-container{
    flex: 0 0 96%;
    padding: 15px 2%;
}

.products-wrapper-design-1 .brand-logo-container img.brand-logo{
	display: block;
	width: auto;
	height: 50px;
	max-width: 160px;
	object-fit: contain;
	object-position: 0 50%;
}

.products-wrapper-design-1 .brand-logo-container:first-of-type img.brand-logo{
	margin-top: 0px;
}

.products-wrapper-design-1 .brand-excerpt{
	max-width: 1000px;
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 120%;
}

.products-wrapper-design-1 .category-excerpt{
	margin: 0 1% 25px;
	flex: 0 0 100%;
}

/* Empty state message */
#page-products-suite .no-products-msg {
	margin: 0 1%;
}

#page-products-suite .no-products-msg p {
	font-size: 16px;
	color: #444;
}

#page-products-suite .no-products-msg a {
	color: #005698;
	font-weight: 600;
	text-decoration: underline;
	cursor: pointer;
}

/**/
.products-wrapper-design-1{
	background-color: #fff;
	display: flex;
	flex-wrap: wrap;
	margin:0 -1%;
	padding: 20px;
	border-radius: 15px;

}

.products-wrapper-design-1 .product-item{
	position: relative;
	flex: 0 0 48%;
	margin: 1%;
	overflow: hidden;
	word-break: break-word;
	/*background-color: #fff;
	box-shadow: 2px 2px 10px rgb(0 0 0 / 15%);
	border-radius: 25px;
	border-bottom: 2px solid #003d6b;*/
}

.products-wrapper-design-1 .product-item .photo{
	display: flex;
	align-items: center;
	padding: 0 20px;
}

.products-wrapper-design-1 .product-item .photo img{
	display: block;
	width: 120px;
	height: 120px;
	margin: 0;
	padding: 0;
}

.products-wrapper-design-1 .product-item .content > div{
	padding: 10px 5px 70px 5px;
}

.products-wrapper-design-1 .product-item .content h3{
    color: #003d6b;
    font-size: 16px;
    font-weight: 600;
}

.products-wrapper-design-1 .product-item .content p{
	font-weight: 500;
	font-size: 12px;
	line-height: 120%;
}

.products-wrapper-design-1 .product-item .content .buttons{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: absolute;
	bottom: 32px;
	width: calc(100% - 10px);
}

.products-wrapper-design-1 .product-item .content .buttons a.prod-info{
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #003d6b;
    font-size: 11px !important;
    font-weight: 600;
    line-height: 100%;
    padding: 0 18px;
    border-radius: 20px;
    transition-duration: .2s;
    text-shadow: 2px 2px 10px rgb(0 0 0 / 21%);
	text-decoration: none;
	width: 100%;
	height: 30px;
}

.products-wrapper-design-1 .product-item .content .buttons a.prod-info:hover{
	color: #fff;
	background-color: #12598f;
	cursor: pointer;
}

.products-wrapper-design-1 .product-item .content .buttons a.prod-info:after{
	content: "";
    width: 8px;
    height: 8px;
    background-image: url(https://solarpowerdirect.com.au/images/showroom-kiosk/arrow-right-white.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    margin-left: auto;
    margin-top: 2px;
}

/**/
.product-suite-product-popup{
	width: 1000px;
    max-width: 90%;
    border-radius: 25px;
}

.product-suite-product-popup > div{
	display: flex;
	flex-wrap: nowrap;
}

.product-suite-product-popup .fancybox-close-small{
	top: 12px;
    right: 12px;
}

.product-suite-product-popup .psp-photo img{
	display: block;
	width: 100%;
	height: auto;
	object-fit: contain;
}

.product-suite-product-popup .psp-content > div{
	padding: 30px;
}

.product-suite-product-popup .psp-content h2.prod-title{
	color: #003d6b;
	margin: 0;
	font-size: 24px;
}

.product-suite-product-popup .psp-content p.brand{
	margin: 5px 0;
}

.product-suite-product-popup .psp-content .button{
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background: #003d6b;
    font-size: 13px;
    font-weight: 600;
    line-height: 100%;
    padding: 0 18px;
    border-radius: 20px;
    transition-duration: .2s;
    text-shadow: 2px 2px 10px rgb(0 0 0 / 21%);
    text-decoration: none;
    height: 30px;
    width: fit-content;
	margin-top: 30px;
}

.product-suite-product-popup .psp-content .button:hover{
	color: #fff;
	background-color: #12598f;
	cursor: pointer;
}



@media(min-width:500px){
	.products-wrapper-design-1 .product-item{
		flex: 0 0 48%;
		margin: 1%;
	}
}

@media(min-width:768px){
	.products-toolbar{
		margin: 0 0 50px;
	}

	.products-toolbar #react-filters .filters-react{
		display: flex;
		width: fit-content;
	}

	.products-toolbar #react-filters label{
		align-items: normal;
		margin-left: 20px;
		width: auto;
		margin-bottom: 0;
	}

	.products-toolbar #react-filters label span{
		position: absolute;
		top: -24px;
		margin-left: 2px;
		margin-right: 0;
		min-width: unset; 
	}

	.products-toolbar #react-filters label select{
		min-width: 150px;
		max-width: 180px;
	}

	.products-toolbar #react-filters button.reset{
		margin-left: 15px;
	}

	/**/
	.product-suite-product-popup .psp-photo{
		flex: 0 0 300px;
	}

	.product-suite-product-popup .psp-content{
		flex: auto;
	}

	.products-wrapper-design-1{
		padding: 40px;
	}


	.products-wrapper-design-1 .product-item .photo{
		padding: 20px 20px;
	}

	.products-wrapper-design-1 .product-item{
		flex: 0 0 23%;
		margin: 1%;
	}

	.products-wrapper-design-1 .product-item .content > div{
		padding: 10px 10px 65px 10px;
	}

	.products-wrapper-design-1 .product-item .content p{
		font-size: 16px;
		line-height: 130%;
	}

	.products-wrapper-design-1 .product-item .content .buttons{
		width: calc(100% - 40px);
	}

	.products-wrapper-design-1 .product-item .content .buttons a.prod-info{
		font-size: 13px !important;
	}

	.products-wrapper-design-1 .brand-logo-container img.brand-logo{
		height: 60px;
		max-width: 200px;
	}
	
	.products-wrapper-design-1 .brand-excerpt{
		font-size: 16px;
		line-height: 140%;
	}


}

/*-- Z1. Page: Meet The Team --------------------------------------------- --*/
.team-members{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 10px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 30px;
}

.team-members .team-member{
	background-color: #fff;
	border-radius: 15px;
	overflow: hidden;
	box-shadow: 2px 2px 10px rgb(0 0 0 / 20%);
}

.team-members .team-member img{
	display: block;
	object-fit: cover;
	background-color: #efefef;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
	aspect-ratio: 3/4;
	margin: 0 auto;
}

.team-members .team-member .content{
	text-align: left;
}

.team-members .team-member .content > div{
	padding: 15px 15px 20px 15px;
}

.team-members .team-member .content h4.name{
	color: #015698;
	margin: 10px 0 0;
}	

.team-members .team-member .content p.position{
	margin: 0 0 10px;
}

.team-members .team-member .content p.position{
	margin: 2px 0;
}

.team-members .team-member .content p.bio{
	font-size: 14px;
	line-height: 120%;
}

@media(min-width:600px){
	.team-members{
		grid-template-columns: repeat(3, 1fr);
		gap: 10px;
	}
}

@media(min-width:1000px){
	.team-members{
		grid-template-columns: repeat(4, 1fr);
		gap: 20px;
	}

	.team-members .team-member .content{
		text-align: center;
	}

	.team-members .team-member .content > div{
		padding: 30px 30px 40px 30px;
	}
}


/*-- Z2. Page: Individual Projects --------------------------------------------- --*/

body[data-section-id="14"] #page_product_individual{
	padding-top: 40px;	
}

body[data-section-id="14"] #page_product_individual .product > div.content > div{
	padding-left: 0;
}

body[data-section-id="14"] .page_content{
	margin: 0;
}

body[data-section-id="14"] .page_content .button{
	margin: 20px 0 40px;
}

body[data-section-id="14"] .panel_smartenergy{
	display: none;
}

@media(min-width:768px){
	body[data-section-id="14"] #page_product_individual{
		padding: 80px 0 40px;	
	}

	body[data-section-id="14"] #page_product_individual .product{
		padding: 0 8%;
	}

	body[data-section-id="14"] #page_product_individual .product > div.content > div{
		padding-right: 10%;
	}

	body[data-section-id="14"] .page_content h1{
		margin-top: -80px;
	}
		
}




/*-- X1. Panel CTA Showroom --------------------------------------------- --*/
.panel_cta_showroom{
    background-color: rgb(55 170 225);
    background: linear-gradient(90deg, rgb(55 170 225), #015698);
}

.panel_cta_showroom > div{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	max-width: 1000px;
	padding: 20px 0 50px;
}

.panel_cta_showroom .text h2{
	color: #fff;
	margin: 0 0 5px;
}

.panel_cta_showroom .text p{
	color: #fff;
	font-weight: 700;
}

.panel_cta_showroom .text a.button{
	margin-top: 10px;
	font-weight: 700;
}

.panel_cta_showroom .photo img{
	display: block;
	width: 100%;
	height: auto;
	max-width: 700px;
	margin-top: 30px;
}

@media(min-width:768px){
	.panel_cta_showroom > div{
		gap: 20px;
		padding: 60px 0 100px;
	}

	.panel_cta_showroom .text{
		flex: 1;
	}

	.panel_cta_showroom .photo{
        flex: 0 0 600px;
	}

	.panel_cta_showroom .photo img{
		margin-top: 0px;
	}

}



/*-- X2. Panel Fancybox Popup --------------------------------------------- --*/
.fancybox-iframe{
	border-radius: 15px;
    overflow: hidden;
    box-shadow: 2px 2px 10px rgb(0 0 0 / 20%);
}


/*-- X3. Page Contact --------------------------------------------- --*/
#contact_main .contact-header{
	background-color: #005697;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	min-height: 220px;

}
 

@media(min-width:768px){

	#contact_main .contact-header{
		min-height: 600px;
	}
}

/*-- X4. Page Get Quote Panel --------------------------------------------- --*/
#panel_get_quote{
	position: relative;
	overflow: hidden;
}

#panel_get_quote .panel_main_cta{
	position: relative;
	z-index: 2;
	background-color:#37aae1;
	background-image: url(https://solar.klik.net.au/images/services/box_bg_pattern.jpg);
	background-size: cover;
    background-position: 50% 50%;
	background-repeat: no-repeat;
	padding: 50px 0;
}

#panel_get_quote .panel_main_cta .box{
	color:#fff;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

#panel_get_quote .panel_main_cta .box .subline{
	max-width: 400px;
	width: 80%;
    margin: 0 auto;
}

#panel_get_quote .bg-photos{
	width: 100%;
    height: 400px;
	background-size: cover;
	background-position: center;
	background-image: url('https://solar.klik.net.au/images/reviews/solar-power-direct-adelaide-van-residential-2.jpg');
}

@media(min-width:768px){
	#panel_get_quote .panel_main_cta{
		padding: 100px 0;
	}
	
	#panel_get_quote .bg-photos{
		height: 600px;
	}
}

@media(min-width:1400px){
	#panel_get_quote .bg-photos{
		height: 650px;
	}
}

/*-- X5. Page Services --------------------------------------------- --*/

#page_service_detail #banner_headline.services-header-v1{
	position: relative;
	display: flex;
	align-items: center;
	min-height: 300px;
	padding: 30px 0;
}

#page_service_detail #banner_headline.services-header-v1 .shade{
    position: absolute;
    width: 100%;
    height: 100%;
}

#page_service_detail #banner_headline.services-header-v1 .panel_maxwidth{
	position: relative;
	z-index: 1;
}

#page_service_detail #banner_headline.services-header-v1 h1.page_headline{
	text-shadow: 2px 2px 10px rgb(0 0 0 / 30%)
}


 

@media(min-width:768px){
	#page_service_detail #banner_headline.services-header-v1{
		min-height: 500px;
		padding: 0;
	}

	#page_service_detail #banner_headline.services-header-v1 h1.page_headline{
        max-width: 600px;
		margin-top: 20px;
	}
}




@media(min-width:1200px){
	#page_service_detail #banner_headline.services-header-v1{
		min-height: 600px;
	}
}





/*-- X6. Panel Footer --------------------------------------------- --*/
footer{
	background-color: #eee;
	position: relative;
}

footer .footer_top{
	background-color: #fff;
}

footer .footer_top .logo img{
	display: block;
	width: 300px;
	height: auto;
	margin: 0 0 40px;
}

footer .footer_top .left .col{
	color: #015698;
	text-decoration: none;
}

footer .footer_top .left .col a{
	display: block;
	margin: 10px 0;
    width: fit-content;
	color: #015698;
	text-decoration: none;
	transition-duration: .1s;
}

footer .footer_top .left .col a:hover{
	color: #37aae1;
}

footer .footer_top .left .col.icons{
	margin-top: 30px;
}

footer .footer_top .left .col.icons a{
	display: inline-block;
	background-color: #015698;
	width: 15px;
	height: 15px;
	padding: 12px;
	border-radius: 50%;
	transition-duration: .2s;
	margin: 0 2px 0 0;
}

footer .footer_top .left .col.icons a:hover{
	background-color: #37aae1;
}

footer .footer_top .left .col.icons a img{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

footer .footer_top .right .footer-nav a{
	display: block;
	width: fit-content;
	font-size: 16px;
	font-weight: 500;
	padding: 2px;
	text-decoration: none;
}

footer .footer_top .right .footer-nav a:hover{
	color: #37aae1;
}


footer .footer_top .right .footer-nav .br1{
	display: block;
    width: 150px;
    height: 2px;
    background-color: #37aae1;
	background-color: #ececec;
	margin-right: auto;
    margin-top: 10px;
    margin-bottom: 10px;
}

footer .footer_bottom{
	padding: 30px 0;
	text-align: center;
}

footer .footer_bottom .left{
	margin-bottom: 20px;
}

footer .footer_bottom .left a{
	text-decoration: none;
	color: #015698;
}

footer .footer_bottom .left p{
	margin: 0;
	font-size: 14px;
	font-weight: 500;
	line-height: 140%;
	color: #015698;
}

footer .footer_top .right .footer-nav{
	margin-top: 30px;
}

footer .footer_bottom .left span.divider{
    color: #bebebe;
    margin: 0 2px;
}

footer .footer_bottom .right img{
	height: auto;
	display: block;
    margin: 0 auto;
}

footer .footer_bottom .right img.energy-council{
	width: 180px;
	margin-bottom: 20px;
}

footer .footer_bottom .right img.awards{
	width: 280px;
}


@media(min-width:768px){
	footer .footer_top > div{
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	footer .footer_top .right .footer-nav{
		margin-top: 0;
	}
	
	footer .footer_top .right .footer-nav .br1{
		width: 200px;
		margin-left: auto;
		margin-right: 10px;
	}

	footer .footer_bottom .left{
		margin-bottom: 0;
	}

	footer .footer_bottom .right{
		display: flex;
		align-items: center;
	}

	footer .footer_bottom .right img{
		display: inline-block;
	}

	footer .footer_bottom .right img.energy-council{
		margin-right: 20px;
		margin-bottom: 0;
	}

	footer .footer_top .right .footer-nav a{
		font-size: 22px;
		font-weight: 500;
		padding: 5px 10px;
		margin-left: auto;
	}

	footer .footer_top .right .footer-nav a.contact{
		font-size: 16px;
		background: #015698;
		color: #fff;
		margin: 15px 5px 0 auto;
		padding: 10px 20px;
		font-weight: 600;
		border-radius: 30px;
		transition-duration: .2s;
	}

	footer .footer_top .right .footer-nav a.contact:hover{
		background-color: #37aae1;
	}

	footer .footer_bottom > .panel_maxwidth{
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		align-items: center;
		gap: 50px;
	}	

	footer .footer_bottom .left{
		text-align: left;
	}
	
}


@media(min-width:1940px){
	footer .footer_top{
		border-radius: 0 0 30px 30px;
	}
}



/*-- X7. Page Get Quote --------------------------------------------- --*/

#page-get-quote{
	background-color: #015698;
	background-size: cover;
	background-position: 50% 50%;
	background-repeat: no-repeat;
}

#page-get-quote .hubspot-form{
	background-color: #fff;
	padding: 30px;
	border-radius: 15px;
	min-height: 500px;
	max-width: 800px;
	margin: 30px auto;
	box-shadow: 2px 2px 10px rgb(0 0 0 / 20%);
}

#page-get-quote .hubspot-form .hb-intro{
	margin: 0 0 30px;
}

#page-get-quote .hubspot-form .hb-intro h1{
	font-size: 22px;
	color: #005698;
}

@media(min-width:768px){
	#page-get-quote .hubspot-form{
		padding: 60px;
	}
}
















</style>