
/*
Theme Name: Renewable Energy Partners
Theme URI: https://www.ashtreedesign.net/ash-tree-design/contact-us.html
Author: Ash Tree Design
Author URI: https://www.ashtreedesign.net
Description: Private Theme
Version: 1.0
Requires at least: 5.0
Tested up to: 5.4
Requires PHP: 7.0
Tags: one-column
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: Joiin
This theme, like WordPress, is licensed under the GPL.


*/




/* Fundamentals */


*{outline:none;}


html {
	scroll-behavior: smooth;
	   -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;

}



html,
body{
	padding:0;
	margin:0;
	height:100%;
	width:100%;
	min-height:100%; 
  font-family: "Raleway", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}



body {
    color: #282743;
    font-size: 19px;
    line-height:30px;
}



a {
	color: #0BCE71; text-decoration: none; text-underline-offset: 4px;  transition: 0.4s

}

a:visited  {
	color:#282743;

}



a:hover {
	text-decoration: none; color:#282743
}
	

a img ,img{
	border: none;
}	

a:focus, a:hover, a:active {
	outline: none;
}

a.more-link{display:none;}

img,fieldset{border:none;}

img{max-width: 100%;}

img.alignright { float: right; margin: 0 0 1em 1em; }
img.alignleft { float: left; margin: 0 1em 1em 0; }
img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.alignright { float: right; }
.alignleft { float: left; }
.aligncenter { display: block; margin-left: auto; margin-right: auto; }

.sticky{}
.screen-reader-text{}
.gallery-caption{}
.bypostauthor{}
.wp-caption{}
.wp-caption-text{}


select {
    -webkit-appearance: none;
}

input {
    -webkit-appearance: none;
}


hr{height: 1px; background-color: #F2ECDE; border: none; width: 20%; margin-left: uto; margin-right: auto; margin-bottom: 15px;}


.mobile-nav{display:none}
.mobile-only{display:none!important}
.desktop-only{}

.cky-title{display: none!important}
.cky-notice-des a{color:#ffffff}
.cky-notice-des p{padding-bottom: 5px}







/* Titles and Paragraphs */


h1,h2,h3,h4,h5{
	padding-top: 0;
	padding-right: 0;
	padding-left: 0;
	padding-bottom: 25px;
	margin: 0;
  font-weight: 700;
}

h1{font-size:60px; line-height:55px; letter-spacing: -1px; 	padding-bottom: 18px; }
	
h2{font-size: 33px; line-height:38px; letter-spacing: -0.5px; 	padding-bottom: 12px; font-weight: 600  }

h3{font-size: 29px; line-height:29px; letter-spacing: -0.5px   }

h4{font-size: 22px; line-height:23px; padding-bottom: 8px; letter-spacing: -0.2px     }




p{
	padding: 0;
	margin: 0px; padding-bottom:10px; font-weight: 500
} 

li{
	padding: 0;
	margin-top: 0;
	margin-right: 0;
	margin-left: 0; padding-bottom: 8px

}




ul,ol{padding: 0px; margin: 0px; margin-left: 18px; margin-bottom: 25px}

ul.widget{
	list-style:none;
	padding:0;
	margin:0;
}

b,strong{

    font-weight:600; 
}


blockquote{
	padding:0px; margin: 0px


}

blockquote p{font-weight: 700; font-size: 20px; line-height: 25px; letter-spacing: -0.7px; }







/* Theme Wrappers */


.wrap{	 
    max-width: 1250px;     margin: 0 auto; padding-left: 25px; padding-right:25px
}

.wrap:after{display: table; clear:both; content:'';}

#wrapper{
	background:none;
	padding:0;
	margin:0;
	width:100%;
	box-shadow:none;
}


#mainbody{ max-width:100%; margin-left: auto; margin-right: auto; background-image: url("images/background-swoosh.png"); background-position: right bottom; background-size: 80%; background-repeat: no-repeat}










/* Theme Header */






#header{width: 100%;
    max-width: 100%;
    display: block;  position: absolute; z-index: 99999; padding-top: 15px; padding-bottom: 15px

}




#centredlogo{
float: left; text-align: left; padding-top: 25px;padding-bottom: 25px
}

#centredlogo a{display: block}
#centredlogo img{  height: auto; width: 40px; }


.scrolled{ }

#header-right{float: right; text-align: right; padding-top: 25px; }

#header-right li{list-style: none;padding-bottom: 0px;  margin-left: 12px; float: left}
#header-right p{padding-bottom: 0px; }
#header-right a{text-decoration: none; margin-left: 5px; margin-right: 5px}
#header-right img{height: 35px; width:35px;}











/* Navigation Menus */


#main-nav{
  margin: 0 auto; display:block; float:right;  text-align: right;  margin-bottom: -1px!important;

}


#main-nav ul{
	list-style:none;
	padding:0;
	margin:0;   font-size: 0;
}

#main-nav ul li{
	display:inline-block;
		margin-left: 0px; margin-right: 0px; padding-bottom: 0px
}



#main-nav ul li a{
    font-size: 14px;
    padding: 0px; margin-left: 15px; font-weight: 700; margin-right: 20px; display: block; text-decoration:none; color: #ffffff; text-transform: uppercase; padding-top: 30px;  letter-spacing: 1px
 }



#main-nav ul li a:hover{
	color: #ffffff; 	  border-bottom-color: #ffffff; border-bottom-style: solid; border-bottom-width: 3px
}

#main-nav ul li.current-menu-item a{
	color: #ffffff;   border-bottom-color: #ffffff; border-bottom-style: solid; border-bottom-width: 3px 
}

#main-nav ul li.current-menu-item a{
	color: #ffffff;   border-bottom-color: #ffffff; border-bottom-style: solid; border-bottom-width: 3px	  
}


#main-nav ul li.current_page_parent a{
	color: #ffffff;  border-bottom-color: #ffffff; border-bottom-style: solid; border-bottom-width: 3px 
}

#main-nav ul li.current_page_parent a{
	color: #ffffff;  border-bottom-color: #ffffff; border-bottom-style: solid; border-bottom-width: 3px 
}











/* Dropdown Menus */


#main-nav li ul{position: absolute;width: 280px;
z-index: 9999;
background-color: #2B4D97; 	 
    visibility: hidden;
    opacity: 0;  margin-top: -1px; margin-left: 1px; padding-top: 12px; padding-bottom:12px;}

#main-nav li ul li{    float: none; text-align: left; 	margin-left: 0px; margin-right: 0px; display: block;}

#main-nav li ul li a{
    font-size: 15px;
    padding-top: 0px;
    padding-right: 18px;
    padding-left: 18px;
    padding-bottom: 0px;
    margin: 0px;
    border: none!important;
    color: #ffffff; line-height: 30px
}
#main-nav li ul li a:hover {
    border-radius: 0!important;
    color: #D6DCE3;
    border: none!important;
}
#main-nav ul li ul li:hover{border-radius:0!important; border: none!important;}
#main-nav li:hover ul{visibility:visible; opacity:1;}


#main-nav ul li.current-menu-item li a{color: #ffffff; border: none!important;}
#main-nav ul li.current-menu-item li a:hover{color: #D6DCE3!important; border: none!important;}

#main-nav ul li.current_page_parent li a{
color: #ffffff
}

#main-nav ul li.current_page_parent li a:hover{
color: #D6DCE3
}















/* Banners */


#banner{
    position: relative;
    width: 100%; height: auto; 
}

#banner img{
    width: 100%; height: auto; min-width: 100%
}

#homepage-banner{position:relative; }
#banner-home{position:relative; }
#banner-home img{width:100%; display:block;}

.flexslider .slides > li{}

#banner-home .flex-control-nav{display :none}
.flex-direction-nav{display:none;}



.flex-control-nav {
display: none!important
}


.show-mob,.close-mob{display:none;}

#new-sub-banner {
    height: 70vh; position: relative; z-index: 9;  min-height: 500px;  max-height: 650px
}

#new-sub-banner .wrap{
   width: 100%; position: relative; height: 70vh;  min-height: 500px;  max-height: 650px
}


#banner-overlay {
bottom: 80px; left: 25px; right: 40%; text-align: left; z-index: 9999; position: absolute
}

#banner-overlay h1 {
    color: #ffffff; font-size: 70px; line-height: 60px
}
#banner-overlay p {
 padding-bottom: 22px; max-width: 600px
}






/* Theme Footer */



#footer-wrap{border-top-width: 1px; border-top-style: solid; border-top-color: #efefef}

#footer-one{}
#footer-one-inner{padding-top: 50px; padding-bottom: 50px;}
#footer-one p{ font-size: 13px; letter-spacing: 0px; padding-bottom: 0px; line-height: 20px }
#footer-one a{font-size: 14px; text-decoration: none; color: #282743 }
#footer-one a:hover{text-decoration: none;color: #0BCE71}
#footer-one li{list-style: none; padding-bottom: 0px}

#footer-left{float: left; }
#footer-right{float: right; text-align: right }

#footer-left li{list-style: none; display: inline-block}
#footer-left img{width: 150px; height: auto; padding-right: 15px; border-right-color: #707070; border-right-width: 1px; border-right-style: solid}
#footer-left p{max-width: 420px; margin-left: 20px}

#footer-right li{list-style: none; display: inline-block}
#footer-right a{font-size: 13px; text-transform: uppercase; font-weight: 700; margin-left: 22px}









/* Contact Form 7 */


.wpcf7-form-control-wrap input[type=text], .wpcf7-form-control-wrap input[type=email] {
box-sizing: border-box;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 20px;
    max-width: 100%;
    color: #000000;
    font-size: 17px;
    line-height: 46px;
  font-family: "Raleway", sans-serif;
    padding-top: 8px;
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 8px;
    background-color: #FAFAFC;
    width: 100%; border-radius: 8px; border-color: #E3E3E3;border-width: 1px; border-style: solid
}


textarea.wpcf7-form-control.wpcf7-textarea {
box-sizing: border-box;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 20px;
    max-width: 100%;
    color: #000000;
    font-size: 17px;
    line-height: 46px;
  font-family: "Raleway", sans-serif;
    border: none;
    padding-top: 8px;
    padding-right: 15px;
    padding-left: 15px;
    padding-bottom: 8px;
    background-color: #FAFAFC;
    width: 100%; height: 200px; border-radius: 8px; border-color: #E3E3E3;border-width: 1px; border-style: solid
} 

.wpcf7-form input[type=submit] {
	background-color: #0BCE71; 	color: #ffffff!important;
	padding-top: 15px;
	padding-right: 21px;
	padding-left: 21px;
	padding-bottom: 15px;
	text-decoration: none;
	font-size: 12px; display: block; border-radius: 25px; text-transform: uppercase; font-weight: 700; border: none; width: 100%
}

.wpcf7-list-item{margin-left: 0px!important}

.wpcf7-form input[type=checkbox] {
    border: 1px solid #ffffff; width: 15px; height: 15px;    -webkit-appearance: auto;
}


.wpcf7-form {
margin-top: 20px
}

.wpcf7-form p {
 font-size: 12px; line-height: 21px
}


input::placeholder, textarea::placeholder {
color: #000000
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #ffffff;
    color: #000000!important;
}








/* Animation */

/* ===== Base Style for Transitions ===== */
.fade-in-up,
.fade-in-down,
.fade-in-up-left,
.fade-in-up-right,
.fade-in-right {
  opacity: 0;
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
  will-change: opacity, transform;
}

/* ===== Variants ===== */

/* Fade-in Up */
.fade-in-up {
  transform: translateY(25px);
}
.fade-in-up.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Fade-in Down */
.fade-in-down {
  transform: translateY(-60px);
}
.fade-in-down.visible {
  opacity: 1;
  transform: translateY(0);
}

/* Fade-in Up Left */
.fade-in-up-left {
  transform: translate(60px, 60px); /* From bottom right */
}
.fade-in-up-left.visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* Fade-in Up Right */
.fade-in-up-right {
  transform: translate(-60px, 60px); /* From bottom left */
}
.fade-in-up-right.visible {
  opacity: 1;
  transform: translate(0, 0);
}

/* Fade-in Right */
.fade-in-right {
  transform: translateX(-60px); /* From left */
}
.fade-in-right.visible {
  opacity: 1;
  transform: translateX(0);
}











/* Single BLog Post */

#blog-content{margin-top: 80px; margin-bottom: 80px}
.post-details{max-width: 950px}
.post-details h1{max-width: 850px}
.post-details h2{padding-top: 40px}
.post-details h3{padding-top: 40px}
.post-details img{margin-top: 25px; margin-bottom: 25px; border-radius: 15px}



.single #header{background-color: #282743; position: relative}

.post-date {
  margin-bottom: 15px; margin-top: 15px
}







/* Blog Grid */


.blog-posts-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.blog-post-box {
  position: relative;
  background: #fff;
  padding: 15px;
  border-top-right-radius: 15px;
  border-bottom-left-radius: 15px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.1);
}


.blog-post-box img{
  border-top-right-radius: 15px;
  border-bottom-left-radius: 15px;
    width: 100%; height: auto

}


.blog-post-label {
  position: absolute;
  top: 30px;
  left: -3px;
  background: #0BCE71;
  color: #fff;
  padding: 6px 15px;
  font-size: 13px;
  border-radius: 0px 15px 15px 0px; text-transform: uppercase; font-weight: 700
}

.blog-post-title {
  min-height: 120px;
  margin: 10px 0;
}

h3.blog-post-title {
    color: #282743;
    font-size: 19px; line-height: 25px; font-weight: 500; max-width: 270px

}

.blog-post-content{padding: 15px}

.blog-post-meta {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.blog-read-more {
  text-decoration: none;
  font-weight: bold;
}

.blog-post-date {
  font-size: 0.85em;
  color: #555;
}









/* Testimonials Carousel */

.testimonial-content{text-align: center; margin-bottom: 40px!important; }
.testimonial-content p{font-weight: 400}


.slick-dots li button:before {
    font-size: 16px!important; color: #ffffff!important
}

.slick-prev {
    left: -65px!important; top:37%!important
}

.slick-next {
    right: -65px!important; top:37%!important
}


.insight-featured-image {
  margin: 20px 0;
  text-align: center;
}

.insight-featured-image img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
}











/* Testimonials Grid */

.testimonial-masonry {
  column-count: 2;
  column-gap: 30px;
}

.testimonial-box {
    display: inline-block;
    width: 100%;
    margin: 0 0 30px;
    padding-top: 60px;
    padding-right: 40px;
    padding-left: 40px;
    padding-bottom: 40px;
    color: #fff;
    text-align: center;
    border-radius: 0px 25px 0px 25px;
    box-sizing: border-box;
}

.testimonial-box p {
  margin: 0; 
}

@media (max-width: 768px) {
  .testimonial-masonry {
    column-count: 1;
  }
}












/* WP Bakery Styles */



.paddingtoplarge{padding-top:140px}
.paddingbottomlarge{padding-bottom: 125px}

.paddingtop{padding-top:80px}
.paddingbottom{padding-bottom: 80px}

.paddingtopsmall{padding-top: 50px}
.paddingbottomsmall{padding-bottom: 40px}

.nobottommargin{margin-bottom: 0px!important}

.whitetext p, .whitetext a, .whitetext h1, .whitetext h2, .whitetext h3, .whitetext h4, .whitetext li{color: #ffffff!important}
.darktext p, .darktext a, .darktext h1, .darktext h2, .darktext h3, .darktext h4, .darktext li{color: #2D2E2E!important}


.whitebackground{background-color: #ffffff}
.greenbackground{background-color: #0BCE71}
.navybackground{background-color: #282743}
.palegreybackground{
    background-color: #EFEFF5
}


.underline{border-bottom-color: #DBDBDB; border-bottom-width: 1px; border-bottom-style: solid}

.box{
  position: relative;
  padding: 35px;
  border-top-right-radius: 15px;
  border-bottom-left-radius: 15px;

}

.box img{
  border-top-right-radius: 15px;
  border-bottom-left-radius: 15px;

}


.roundedcorners{border-radius: 15px}
.roundedcorners img{border-radius: 50%}



.whitebutton a, a.whitebutton{
	background-color: #ffffff;
	color: #2D2E2E!important;
	padding-top: 4px;
	padding-right: 21px;
	padding-left: 21px;
	padding-bottom: 4px;
	text-decoration: none;
	font-size: 12px; display: inline-block; border-radius: 25px; text-transform: uppercase; font-weight: 700

}


.whitebutton a:hover, a.whitebutton:hover{
	background-color: #0BCE71; 	color: #ffffff!important;
}




.flexrow {
    position: relative;
    z-index: 9;
    display: flex;

}


.bigr{background-image: url(images/big-r.svg); background-size:35%; background-position: right top; background-repeat: no-repeat; margin-top: -45px; z-index: 9999 }

.home .headerbanner{height: 65vh!important; min-height: 600px!important}

.page-template-page_nobannerimage .headerbanner{height: 55vh; min-height: 550px}

.leftborder{border-left-width: 6px; border-left-color: #282743; border-left-style: solid; padding-left: 40px}

.rbox{
    background-image: url(images/white-r.svg);
    background-size: 80px;
    background-position: right top;
    background-repeat: no-repeat;
    position: relative;
    padding-top: 35px;
    padding-right: 20%;
    padding-left: 35px;
    padding-bottom: 25px;
    border-top-right-radius: 15px;
    border-bottom-left-radius: 15px;
}








/* 1. Flexbox layout for the row */
.flexrow {
  display: flex;
  flex-wrap: wrap;
}

/* 2. Stretch each column */
.flexrow > .wpb_column {
  display: flex;
  flex-direction: column;
}

/* 3. Stretch inner container */
.flexrow .vc_column-inner {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* 4. Make wrapper fill the height */
.flexrow .wpb_wrapper {
  flex: 1;
  display: flex;
  flex-direction: column;
}

/* 5. Stretch the actual Text Block */
.flexrow .wpb_text_column {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between; min-height: 100px
}


