
/*
Theme Name: Plum It
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: "Manrope", sans-serif;
  font-optical-sizing: auto;
  font-weight: 500;
  font-style: normal;
}



body {
    color: #293D67;
    font-size: 17px;
    line-height:26px; 
}



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

}

a:visited  {
	color:#293D67;

}



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

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










/* Titles and Paragraphs */


h1,h2,h3,h4,h5{
	padding-top: 0;
	padding-right: 0;
	padding-left: 0;
	padding-bottom: 12px;
	margin: 0;
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
}

h1{font-size: 50px; line-height:50px;  padding-bottom: 15px; letter-spacing: -1px  }

.home h1{font-size: 2vw; line-height:2vw;  padding-bottom: 15px  }
	
h2{font-size: 50px; line-height:50px;  padding-bottom: 15px; letter-spacing: -1px  }

h3{font-size: 40px; line-height:40px;  padding-bottom: 20px; letter-spacing: -0.5px   }

h4{font-size: 16px; line-height:20px;  padding-bottom: 8px; text-transform: uppercase; font-weight: 700; letter-spacing: 0.5px  }

h4 a{text-decoration: none; background-image: url("images/title-arrow-hover.svg"); background-position:  right center; background-repeat: no-repeat; background-size: 25px; padding-right: 30px; display: block}
h4 a:hover{color: #ffffff!important; background-image: url("images/title-arrow.svg");}


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

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:800; 
}


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: 100%;     margin: 0 auto; padding-left:5%; padding-right:5%
}

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










/* Theme Header */





#header-one {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99999;
    background-color: #ffffff;
}

#header-one .wrap {
    max-width: 100%;
padding-top:15px; padding-bottom: 15px; padding-right: 2%; padding-left: 2%
}

#header-two{width: 100%;
    max-width: 100%;
    display: block; background-color:#293D67;   margin-top:107px
}


#header-two .wrap {
  max-width: 100%;
 padding-top: 0px; padding-bottom: 0px; padding-left: 0px; padding-right: 0px
}



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

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


.scrolled{ }



#header-phone{float: right; padding-right: 25px; padding-top: 15px; padding-bottom: 15px; border-right-color: #C2C2C2; border-right-width: 1px; border-right-style: solid; margin-left: 25px; padding-left: 60px; background-image: url("images/phone-icon.svg"); background-position: left center; background-repeat: no-repeat; background-size: 45px}
#header-email{float: right; padding-right: 25px; padding-top: 15px; padding-bottom: 15px; border-right-color: #C2C2C2; border-right-width: 1px; border-right-style: solid; margin-left: 25px;  padding-left: 60px; background-image: url("images/email-icon.svg"); background-position: left center; background-repeat: no-repeat; background-size: 45px}
#header-logos{float: right;padding-top: 10px;margin-left: 25px}

#header-phone li, #header-email li, #header-logos li, #floating-contact li{list-style: none;padding-bottom: 0px }
#header-phone p, #header-email p, #header-logos p{padding-bottom: 0px; font-size: 18px; line-height: 23px; letter-spacing: -0.5px}
#header-phone strong, #header-email strong, #header-logos strong{font-size: 20px; line-height: 23px; font-weight: 900; letter-spacing: -1px}
#header-phone a, #header-email a{text-decoration: none; color: #293D67}
#header-phone a:hover, #header-email a:hover{text-decoration: none; color: #ffd100}

#header-logos img{height: 60px!important; width: auto!important}
#header-logos li{display: inline-block}


#floating-contact {
    background-color: #ffd100;
    padding-top: 8px;
    padding-right: 10px;
    padding-left: 16px;
    padding-bottom: 0px;
    position: fixed;
    right: 0px;
    z-index: 99999;
    top: 30%;
    text-align: center;
    border-radius: 10px 0px 0px 10px;
    border-width: 1px 0px 1px 1px;
    border-color: #ffd100;
    border-style: solid; 
}

#floating-contact:hover {
    background-color: #293D67; cursor: pointer; color: #ffffff!important
}

#floating-contact:hover a{
 color: #ffffff!important
}

#floating-contact a {
    text-decoration: none;
    background-image: url(images/title-arrow-hover.svg);
    background-position: right center;
    background-repeat: no-repeat;
    background-size: 25px;
    padding-right: 30px;
    display: block; color: #293D67; text-transform: uppercase; font-weight: 700; letter-spacing: 0.7px; font-size: 13px
}

#floating-contact a:hover {
color: #ffffff!important; background-image: url("images/title-arrow.svg")
}

#floating-contact:hover a {
color: #ffffff!important; background-image: url("images/title-arrow.svg")
}





/* Navigation Menus */


#main-nav{
  margin: 0 auto; display:block; text-align: center; width: 100%
}


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

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

#main-nav ul li span{

}




#main-nav ul li a{
    font-size: 16px;
    padding: 0px; margin-left: 18px; font-weight: 700; line-height:74px;

    display: block; text-decoration:none; color: #ffffff; padding-bottom: 5px
 }



#main-nav ul li a:hover{
	color: #FFD100; 	  
}

#main-nav ul li.current-menu-item a{
color: #FFD100; font-weight: 700
}

#main-nav ul li.current-menu-item a{

}


#main-nav ul li.current_page_parent a{
color: #FFD100;  font-weight: 700
}

#main-nav ul li.current_page_parent a{

}

.menu-item-has-children > a::after {
    content: '';
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 20px;
    margin-left: 5px;
    background-image: url('data:image/svg+xml;utf8,<svg fill="white" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M5.25 7.25L10 12.25L14.75 7.25"/></svg>');
    background-size: contain;
    background-repeat: no-repeat;
}









/* Dropdown Menus */


#main-nav li ul{position: absolute;width: 280px;
z-index: 999999;
  background-color: #293D67;
    visibility: hidden;
    opacity: 0;  margin-top: -1px; margin-left: 1px; padding-top: 12px; padding-bottom:12px;border-bottom-color: #ffd100; border-bottom-width: 3px; border-bottom-style: solid}

#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: 16px;
    padding-top: 0px;
    padding-right: 22px;
    padding-left: 22px;
    padding-bottom: 12px;
    margin: 0px;
    border: none!important;
    color: #ffffff; line-height: 26px
}
#main-nav li ul li a:hover {
    border-radius: 0!important;
    color: #ffd100;
    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;  height: 70vh;}
#banner-home{position:relative; }
#banner-home img{width:100%; display:block;}

.flexslider .slides > li{ height: 70vh}




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



.flex-direction-nav .flex-prev:hover {
    background: url(images/back-hover.png) no-repeat center center;
}


.flex-direction-nav .flex-next:hover {
    background: url(images/fwd-hover.png) no-repeat center center;
}


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



#new-sub-banner {
    height: 60vh; position: relative; z-index: 9; 
}

#new-sub-banner .wrap{
   position: relative;
}


#banner-overlay {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: center;
    z-index: 9999;
    padding-top: 20px;
    padding-right: 10%;
    padding-left: 10%;
    padding-bottom: 20px;
    box-sizing: border-box; /* <-- This is the key */
}

#banner-overlay h2 {
    color: #ffffff;
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
}

#banner-overlay h2 strong{
    color:#FFD100 ;

}

#banner-overlay h1 {
    color: #ffffff;
    display: inline-block;
    margin-left: auto;
    margin-right: auto;
}

#banner-overlay h1 strong{
    color:#FFD100 ;

}

#banner-overlay p{
 color: #ffffff

}

#banner-overlay img{
height: 60px!important; width: auto!important; margin-left: auto; margin-right: auto; margin-top: 25px

}


#sub-banner-titles{padding-bottom: 25px;}










/* Theme Footer */

#footer-cta{display: block; overflow: hidden}
#footer-cta-inner{text-align: center; background-image: url(images//box-background.jpg) !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;}
#footer-cta p{  }
#footer-cta a{ }
#footer-cta li{list-style: none; padding-bottom: 0px}

#footer-one{background-color: #ffffff; display: block; overflow: hidden}
#footer-one-inner{padding-top: 50px; padding-bottom: 30px;border-bottom-color: #293D67; border-bottom-width: 3px; border-bottom-style: solid}
#footer-one p{ font-size: 13px;  padding-bottom: 0px; display: }
#footer-one a{ font-size: 13px; text-decoration: none  }
#footer-one li{list-style: none; padding-bottom: 0px}

.page-template-page_sub #footer-one{display: none}

#footer-two{background-color: #ffffff; display: block; overflow: hidden}
#footer-two-inner{padding-top: 60px; padding-bottom: 40px}
#footer-two p{ font-size: 13px;  padding-bottom: 0px; color: #293D67}
#footer-two a{ font-size: 13px; text-decoration: none; color: #293D67;margin-right: 5px  }
#footer-two li{list-style: none; padding-bottom: 0px; color: #293D67}

#footer-three{background-color: #293D67;display: block; overflow: hidden}
#footer-three-inner{padding-top: 16px; padding-bottom: 22px; text-align: center}
#footer-three p{ font-size: 13px; letter-spacing: 0px; padding-bottom: 0px;color: #ffffff }
#footer-three a{ color: #ffffff; font-size: 13px; text-decoration: none  }
#footer-three li{list-style: none; color: #ffffff; padding-bottom: 0px}


#footer-partners-title{width:30%; float: left; margin-right: 2% }
#footer-partners-logos{width:68%; float: right; text-align: right}

#footer-contact{width:30%; float: left;}
#footer-descriptions{width:40%; float: left; text-align: center}
#footer-checkatrade{width:30%; float: right; text-align: right}

#footer-descriptions img{width: 220px!important; height: auto!important;padding-bottom: 20px}
#footer-descriptions p{padding-bottom: 20px}

#footer-contact li{padding-bottom: 15px; margin-bottom: 15px}
#footer-contact p{padding-bottom: 0px; font-size: 18px; line-height: 23px; letter-spacing: -0.5px}
#footer-contact strong{font-size: 20px; line-height: 23px; font-weight: 900; letter-spacing: -1px}
#footer-contact img{margin: 0px!important; margin-right: 12px!important}

#footer-checkatrade img{height: 150px!important; width: auto!important}









/* Contact Form 7 */


.wpcf7-form-control-wrap input[type=text], .wpcf7-form-control-wrap input[type=email] {
    border-radius: 5px;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 12px;
    width: 100%;
    color: #000000;
    font-size: 15px;
    line-height: 46px;
    font-family: "Inter", serif;
    border: none;
    padding-top: 4px;
    padding-right: 12px;
    padding-left: 12px;
    padding-bottom: 4px; background-color: #EAEEF1;   box-sizing: border-box;
}


textarea.wpcf7-form-control.wpcf7-textarea {
    border-radius: 5px;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 7px;
    width: 100%;
    color: #000000;
	font-size: 15px;
	line-height: 22px;
 margin-top: 0px; line-height: 46px;  height: 70px;  font-family: "Inter", serif ; border: none;    padding-top: 4px;
    padding-right: 12px;
    padding-left: 12px;
    padding-bottom: 4px; height: 100px; background-color: #EAEEF1;   box-sizing: border-box;
} 

.wpcf7-form input[type=submit] {
	background-color: #ffd100;
	color: #293D67;
	padding-top: 12px;
	padding-right: 25px;
	padding-left: 25px;
	padding-bottom: 14px;
	text-decoration: none;
	font-size: 16px; display: block; margin-top: 10px;  border-radius: 10px; width: 100%; border:none
}

.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 p {
 font-size: 12px; line-height: 21px
}


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

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











/* Animation */

/* Base styles for the fade-in elements */
.fade-in-up {
  opacity: 0;                    /* Start hidden */
  transform: translateY(50px);   /* Start slightly below */
  transition: opacity 0.8s ease-out, transform 0.8s ease-out; /* Smooth transition */
  will-change: opacity, transform; /* Optimize for performance */
}

/* Class to trigger the fade-in effect */
.fade-in-up.visible {
  opacity: 1;                   /* Fully visible */
  transform: translateY(0);     /* Move to original position */
}











/* Testimonials Carousel */



.testimonial-arrows {
    text-align: center;
    padding-bottom: 50px;
}

.testimonial-prev,
.testimonial-next {
    width: 18px; /* adjust as needed */
    height: 18px;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    border: none;
    background-color: transparent;
    cursor: pointer;
    display: inline-block;
    margin: 0 5px;
}

/* Example: Replace these URLs with your actual image paths */
.testimonial-prev {
    background-image: url('images/testimonial-left.png');
}

.testimonial-next {
    background-image: url('images/testimonial-right.png');
}


.testimonial-prev:hover {
    background-image: url('images/testimonial-left-hover.png');
}

.testimonial-next:hover {
    background-image: url('images/testimonial-right-hover.png');
}


.testimonials-section {
display: block; width: 100%; overflow: hidden;  box-sizing: border-box; padding: 15px
}

.testimonial-left {
   float: left; width: 32%; box-sizing: border-box; margin-right: 3%
}


.testimonial-right {
  float: left; width: 65%; box-sizing: border-box;
}


.testimonial-text{
    padding-top: 40px;
    padding-right: 10%;
    padding-left: 10%;
    padding-bottom: 0px
}
.testimonials-carousel {
    width: 100%;
    overflow: hidden;
}

.testimonial-slide {
    padding: 15px; text-align: center

}



@media (max-width: 768px) {
    .testimonials-section {
        grid-template-columns: 1fr;
    }
}





/* WP Bakery Styles */


.paddingtop{padding-top:70px}
.paddingbottom{padding-bottom: 55px}

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

.margintop{margin-top: 70px}
.marginbottom{margin-bottom: 70px}
.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: #293D67!important}

.navybackground{background-color: #293D67}
.whitebackground{background-color: #ffffff}
.orangebackground{background-color: #ffd100}
.greybackground{background-color: #E2E6EA}

.box{
    padding-top: 50px!important;
    padding-right: 50px!important;
    padding-left: 50px!important;
    padding-bottom: 50px!important; position: relative
}

.smallbox{
    padding-top: 20px!important;
    padding-right: 25px!important;
    padding-left: 25px!important;
    padding-bottom: 15px!important; position: relative
}



.roundedcorners{border-radius: 12px}
.roundedcorners img{border-radius: 12px}

.roundedcornersbottom{border-radius: 0px 0px 12px 12px}

.orangebutton a, a.orangebutton{
	background-color: #ffd100!important;
	color: #293D67!important;
	padding-top: 9px;
	padding-right: 25px;
	padding-left: 25px;
	padding-bottom: 12px;
	text-decoration: none;
	font-size: 16px; display: inline-block; margin-top: 10px;  border-radius: 10px;

}


.orangebutton a:hover, a.orangebutton:hover{
	background-color: #293D67!important; color: #ffffff!important
}


.navybutton a, a.navybutton{
	background-color: #293D67!important;
	color: #ffffff!important;
	padding-top: 9px;
	padding-right: 25px;
	padding-left: 25px;
	padding-bottom: 12px;
	text-decoration: none;
	font-size: 16px; display: inline-block; margin-top: 10px;  border-radius: 10px;

}


.navybutton a:hover, a.navybutton:hover{
	background-color: #ffd100!important; 	color: #293D67!important;
}

.shadow{box-shadow: 0px 0px 15px 0px #efefef}



/* 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; 
}

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


.wpb_single_image {
  overflow: hidden; 
}


.wpb_single_image a img {
  transition: opacity 0.5s ease, border-radius 0.5s ease, transform 0.5s ease;
}

.wpb_single_image a img:hover {
  border-radius: 8px;
  transform: scale(1.1);
}


.faqitem {
    background-color: #E2E6E9;
    padding: 25px;
    color: #293D67;
    border-radius: 7px;
    margin-bottom: 15px !important;  transition: background-color 0.3s ease;
}

.faqitem:hover {
    background-color: #293D67;
}

.faqitem:hover h4{
  color: #ffffff!important;
}

.faqitem:hover p{
  color: #ffffff!important;
}

.faqitem h4 {
    text-transform: none;
    color: #293D67;
    font-weight: 600;
    font-size: 16px;
    line-height: 16px;
    letter-spacing: 0px;
}




.faqitem .vc_toggle_icon::before, .faqitem .vc_toggle_icon::after {
    background: #293D67 !important;
}


.faqitem:hover .vc_toggle_icon::before, .faqitem:hover .vc_toggle_icon::after {
    background: #ffffff !important;
}

.faqitem .vc_toggle_title {
    padding-left: 0px !important;
    padding-right: 24.2px;
}

.faqitem .vc_toggle_icon {
    left: auto !important;
    right: 0px !important;
}

.faqitem .vc_toggle_content {
padding-left: 0px!important;  padding-right: 24.2px;
}

.vc_toggle_size_sm .vc_toggle_icon::before  {
    height: 4px!important;
    width: 16px!important; border:none!important
}

.vc_toggle_size_sm .vc_toggle_icon::after  {
    width: 4px!important;
    height: 16px!important; border:none!important
}


.wpb_image_grid .wpb_image_grid_ul .isotope-item {
    width: 24.7%;
}

.wpb_image_grid .wpb_image_grid_ul img {
    width: 100%!important;

}

.wpb_image_grid .wpb_image_grid_ul img:hover {
   opacity: 0.8

}



.home-cta-btns a{
margin-left: 5px; margin-right: 5px
}



