

/*
Theme Name: Carlton Advisors
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;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;

}



html,
body{
	padding:0;
	margin:0;
	height:100%;
	width:100%;
	min-height:100%; 
  font-family: "Merriweather", serif;
  font-weight: 300;
  font-style: normal;  color: #4B4444;
}



body {
    font-size: 15px;
    line-height:27px; font-weight: 300; letter-spacing: 0.4px
}



a {
	color: #4B4444; text-decoration: none; 

}

a:visited  {
	color:#4B4444;

}



a:hover {
	text-decoration: underline; color: #4B4444
}
	

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: "Merriweather", serif;
  font-weight: 900;
}

h1{font-size: 65px; line-height:65px; color: #343045; letter-spacing: -2px; padding-bottom: 8px; }
	
h2{font-size: 50px; line-height:40px; color: #343045; letter-spacing: -1px}


h3{font-size: 45px; line-height:45px; color: #494558; letter-spacing: -1px}

h4{font-size: 35px; line-height:38px; color: #494558; letter-spacing: -0.5px;  padding-bottom: 8px;}






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

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

}

li::marker {
  color: #255B96;font-size: 1.5em
}


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

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

b,strong{

    font-weight:600; 
}


blockquote{
	padding-top: 0;
	padding-bottom: 10px;
 font-family: "PT Serif", serif;
    color: #2D2658; font-weight: 400; font-size: 2vw; line-height:2.5vw; margin: 0px!important

}









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

.page-template-page_bannerimage #mainbody{    margin-top: -200px;
    position: relative;
    z-index: 99999;}









/* Theme Header */



#headerwrap{width: 100%;
    max-width: 100%;
    display: block;
 position: absolute; background-color: #ffffff; opacity: 0.9; z-index: 9999999
}


.page-template-page_nobanner #headerwrap { position: relative;
}

.page-template-page_articles #headerwrap { position: relative;
}

.single-articles #headerwrap { position: relative;
}


.single-product #headerwrap { position: relative;
}


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

#centredlogo a{display: block}
#centredlogo img{  height: auto; width: 80%; }


.scrolled{ }


#basket-icon{float: right; margin-top: 39px; margin-left: 15px}
#basket-icon img{width: 18px; height: auto}











/* Navigation Menus */


#main-nav{
  margin: 0 auto; display:block; float:right;  text-align: right;  padding-top: 29px; padding-bottom: 26px
}


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

#main-nav ul li{
	display:inline-block;
	
}

#main-nav ul li span{

}




#main-nav ul li a{
    font-size: 15px;
    padding-top: 3px;
    padding-right: 12px;
    padding-left: 12px;
    padding-bottom: 3px;
    font-weight: 500;
    line-height: 36px;
    display: block;
    text-decoration: none;
    color: #31373E; border-radius: 5px
 }



#main-nav ul li a:hover{
	color: #ffffff; background-color: #717456	
}

#main-nav ul li.current-menu-item a{
color: #ffffff; background-color: #717456	
}


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














/* Dropdown Menus */


#main-nav li ul{position: absolute;width: 250px;
z-index: 9999;
  background-color: #255B96;
    visibility: hidden;
    opacity: 0;  margin-top: -1px; margin-left: 1px; padding-top: 12px; padding-bottom:12px;border-bottom-color: #ffffff; 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: 15px;
    padding-top: 0px;
    padding-right: 18px;
    padding-left: 18px;
    padding-bottom: 0px;
    margin: 0px;
    border: none!important;
    color: #ffffff; line-height: 20px
}
#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%
}


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

.flexslider .slides > li{ height: 75vh;}

.home .flex-control-nav{ position: absolute!important; 
    bottom: 40px!important; 
    right: 40px!important; 
    z-index: 999999!important; text-align: right!important}


.home .flex-control-nav li a{
  border-width: 1px; border-style: solid; border-color: #ffffff; background-color: transparent;     text-indent: -9999px; /* Hides the numbers */
    overflow: hidden; color: #ffffff; font-size: 1px
}

.home .flex-control-paging li a.flex-active {
    background: #ffffff;
}

.flex-direction-nav{display:none;}


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

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

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


#banner-overlay {
 position: absolute; bottom: 70px; left: 0px; right: 0px; text-align: center; z-index: 9999
}

#banner-overlay img {
max-width: 400px; height: auto; width: 400px
}


.page-template-page-with-large-banner #new-sub-banner {
    height: 100vh; 
}


#banner-quote{position: absolute; width: 400px; right:0px; top:100px; z-index: 9999999}
#banner-quote li{list-style: none;}
#banner-quote p{font-size: 13px; line-height: 20px; color: #ffffff; text-align: right; text-shadow: 0px 0px 10px #444444 }
#banner-quote strong{font-size: 11px; line-height: 18px}
.banner-quote-inner{padding: 35px;text-align: right}








/* Theme Footer */



#footer{}
#footer-inner{padding-top: 120px; padding-bottom: 10px;}
#footer p{ font-size: 16px; letter-spacing: 0px; padding-bottom: 0px }
#footer li{list-style: none; color: #000000}


#footer-left{float: left; width: 20%; text-align: left}
#footer-center{float: left; width: 60%; text-align: center}
#footer-right{float: left; width: 20%; text-align: right}


#footer-left li{display: inline-block }
#footer-left img{width: 25px; height: 25px; margin-right: 8px}

#footer-right img{width: auto; height: 35px!important;}

#copyright{}
#copyright-inner{text-align: center; padding-top: 22px; padding-bottom: 120px; border-top-color: #74775C; border-top-width: 4px; border-top-style: solid }
#copyright-inner p{ font-size: 12px;  padding-bottom: 0px}
#copyright-inner a{padding-left: 8px; padding-right: 8px}
#copyright li{list-style: none;}








/* 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;
    min-width: 75%;
    color: #000000;
    font-size: 15px;
    line-height: 52px;
  font-family: "Merriweather", serif;
  font-weight: 400;
  font-style: normal;
    border: none;
    padding-top: 4px;
    padding-right: 12px;
    padding-left: 12px;
    padding-bottom: 4px; display: inline-block; border-radius: 8px 0px 0px 8px 
}


textarea.wpcf7-form-control.wpcf7-textarea {
    border-radius: 5px;
    margin-top: 0;
    margin-right: 0;
    margin-left: 0;
    min-width: 96%;
    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
} 

.wpcf7-form input[type=submit] {
	background-color: #74775C;
	color: #ffffff;
    padding-top: 4px;
    padding-right: 12px;
    padding-left: 12px;
    padding-bottom: 4px;
	text-decoration: none;
	font-size: 14px; display: inline-block; border-style: solid; border-width: 1px; border-color: #74775C; display: inline-block; line-height: 52px; border-radius: 0px 8px 8px 0px;   font-family: "Merriweather", serif;
  font-weight: 400;
  font-style: normal;
}

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


.wpcf7{text-align: center}

.wpcf7-spinner{display: none!important}


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










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








/* Article Posts */

.article-list{overflow: hidden; display: block; margin-top: 18px}

.article-list ul{margin: 0px; padding: 0px}

.article-list .wrap{    display: flex;
    flex-wrap: wrap;}

li.article-item {    float: left;
    width: 48.5%;
    margin-right: 3%;
list-style: none; margin-bottom: 40px; background-color: #ffffff; border-radius: 12px 12px 12px 12px ; }

.article-list li:nth-child(2n+2) {
    margin-right: 0%;
}

.article-item-inner{

}

.article-item-inner-top{position: relative; }
.article-item-inner-top .news-date{

	font-size: 15px; margin-bottom: 6px;}


.article-item-inner-bottom{min-height: 100px; position: relative;     padding-top: 30px;
    padding-right: 30px;
    padding-left: 30px;
    padding-bottom: 25px}
.article-item-inner-bottom p{padding-bottom: 0px}


.article-item-inner-top {
    position: relative;
    padding-bottom: 56.25%; /* Aspect ratio for 16:9 videos */
    height: 0;
    overflow: hidden;
    max-width: 100%; border-radius: 12px 12px 0px 0px
}

.article-item-inner-top iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.article-item-inner-bottom h4{    font-size: 28px;
    line-height: 32px;
}


.single-articles #post-details{max-width: 75%;
    width: 75%;
    overflow: hidden;
    display: block; /* Ensures the div is properly respected */
    position: relative; /* Helps prevent layout issues */}
.single-articles #post-details h1{padding-bottom: 25px}
.single-articles #post-details h3{padding-top: 35px}
.single-articles #post-details img{padding-top:15px!important; padding-bottom:0px!important; margin-top:35px; margin-bottom: 0px; border-top-width: 3px; border-top-color: #74775C; border-top-style: solid; max-width: 937px!important; }

.wp-caption-text{font-size: 13px; line-height: 16px; padding: 25px; background-color:#EDEEF0; margin-right: 10px; margin-bottom: 45px; border-bottom-width: 3px; border-bottom-color: #74775C; border-bottom-style: solid; margin-top: 8px}








/*  Posts */

.post-list{overflow: hidden; display: block; margin-top: 18px}

.post-list ul{margin: 0px; padding: 0px}

.post-list .wrap{    display: flex;
    flex-wrap: wrap;}

li.post-item {    float: left;
    width: 100%;
list-style: none; margin-bottom: 40px;  border-radius: 12px 12px 12px 12px ; }

.post-item-inner {
    display: flex;
}

.post-item-inner-left{float: left; width: 33%; background-color: #ffffff; border-radius: 12px 0px 0px 12px  }
.post-item-inner-right{float: left; width: 67%; background-color: #343045; border-radius: 0px 12px 12px 0px  }
.post-item-inner-right p{color: #ffffff}

.post-item-inner-left h4{padding-top: 15px; padding-bottom: 15px }
.post-item-inner-left img{ border-radius: 8px 8px 0px 0px; border-bottom-color:#343045; border-bottom-width: 3px; border-bottom-style: solid  }

.post-item-inner-left-inner{position: relative;  padding-top: 40px;
    padding-right: 40px;
    padding-left: 40px;
    padding-bottom: 35px;  }

.post-item-inner-left .news-date{

	font-size: 15px; margin-bottom: 6px;}


.post-item-inner-right-inner{position: relative;     padding-top: 40px;
    padding-right: 40px;
    padding-left: 40px;
    padding-bottom: 35px}








/*  Charity Custom Posts */

.charity-list{overflow: hidden; display: block; margin-top: 18px}

.charity-list ul{margin: 0px; padding: 0px}

.charity-list .wrap{    display: flex;
    flex-wrap: wrap;}

li.charity-item {    float: left;
    width: 100%;
list-style: none; margin-bottom: 25px;  border-radius: 12px 12px 12px 12px ; }

.charity-item-inner {
    display: flex;
}

.charity-item-inner-left{float: left; width: 50%; background-color: #343045; border-radius: 12px 0px 0px 12px  }
.charity-item-inner-right{float: left; width: 50%; background-color: #343045; border-radius: 0px 12px 12px 0px  }
.charity-item-inner-left p{color: #ffffff; max-width: 480px }
.charity-item-inner-left a{color: #ffffff; }
.charity-item-inner-left h4{color: #ffffff;  max-width: 480px }
.charity-item-inner-right p{color: #ffffff; max-width: 480px }
.charity-item-inner-right a{color: #ffffff; }
.charity-item-inner-right h4{color: #ffffff;  max-width: 480px }




.charity-item-inner-left-inner{position: relative;  padding-top: 55px;
    padding-right: 55px;
    padding-left: 55px;
    padding-bottom: 50px;  }



.charity-item-inner-right-inner{position: relative;     padding-top: 55px;
    padding-right: 55px;
    padding-left: 55px;
    padding-bottom: 45px; min-height: 400px}


.charity-item-inner-right-inner .charity-item-floating-logo{float: right}
.charity-item-inner-right-inner .charity-item-floating-logo img{padding: 8px; border-radius: 8px; background-color: #ffffff; width: 70px; height: auto}

.charity-item-inner-left-inner .charity-item-floating-logo{float: left}
.charity-item-inner-left-inner .charity-item-floating-logo img{padding: 8px; border-radius: 8px; background-color: #ffffff; width: 70px; height: auto}











/*  WooCommerce */


.woocommerce div.product form.cart .quantity input.qty {
    width: 60px; /* Adjust width */
    height: 40px; /* Adjust height */
    text-align: center; /* Center the number */
    font-size: 16px; /* Make text more readable */
    border: 2px solid #000000; /* Border colour */
    border-radius: 5px; /* Rounded corners */
    background: #f8f8f8; /* Light background */
    color: #333; /* Text colour */
}


/* Product Titles */
.woocommerce ul.products li.product h2 {

}

/* Add to Cart Button */
.woocommerce ul.products li.product .button {
    background: #74775C!important;
    color: #ffffff!important;
    padding: 15px 25px!important;
    border: none!important;
    cursor: pointer!important;
    border-radius: 25px !important;
    transition: background 0.3s ease!important;
}
}

.woocommerce ul.products li.product .button:hover {
    background: #005f80;
}



.woocommerce div.product p.price {
    font-size: 24px;
    font-weight: 400;
    color: #0071a1;
}




/* Cart Page */
.woocommerce-cart-form {
    width: 100%;
    border-collapse: collapse;
}

.woocommerce-cart-form th,
.woocommerce-cart-form td {
    padding: 10px;
    border-bottom: 1px solid #ddd;
    text-align: center;
}

.woocommerce-cart-form .product-name {
    text-align: left;
}



/* Checkout Page */
.woocommerce-checkout {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.woocommerce-checkout #customer_details {
    flex: 1 1 60%;
}

.woocommerce-checkout .woocommerce-checkout-review-order {
    flex: 1 1 40%;
    background: #f9f9f9;
    padding: 20px;
    border-radius: 5px;
}

.product_meta{display: none!important}

#post-details, .woocommerce-cart .article-content{margin-top: 50px!important}

.cart_totals h2{display: none!important}





/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
    background: #74775C!important;
    color: #ffffff!important;
    padding: 15px 25px!important;
    border: none!important;
    cursor: pointer!important;
    border-radius: 25px !important;
    transition: background 0.3s ease!important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover {
    background: #343045!important;
}



/* Notices */
.woocommerce-message,
.woocommerce-error,
.woocommerce-info {
    padding: 10px;
    border-width: 0px!important;
    background: #f0f8ff;
    margin-bottom: 15px;
}



.woocommerce-order-received #mainbody {
width: 100%!important
}

.woocommerce-order-received #mainbody h2 {
    font-size: 30px!important;
    line-height: 30px!important;
}

.woocommerce-order-received #footer {
    display: none!important

}

.woocommerce-order-received #copyright {
    display: none!important

}








/* WP Bakery Styles */
.paddingtoplarge{padding-top: 100px}
.paddingbottomlarge{padding-bottom: 100px}

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

.paddingtopsmall{padding-top: 35px}
.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: #31373E!important}

.orangebackground{background-color: #F4CB63}
.palegreybackground{background-color: #EDEEF0}
.navybackground{background-color: #343045}


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





.roundedcorners{border-radius: 12px}

.roundedcorners img{border-radius: 12px}

.roundedcornersleft .vc_column-inner{border-radius: 12px 0px 0px 12px}

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

.whitebutton a, a.whitebutton{
	background-color: #ffffff;
	color: #343045;
	padding-top: 11px;
	padding-right: 25px;
	padding-left: 25px;
	padding-bottom: 11px;
	text-decoration: none;
	font-size: 16px; display: inline-block; margin-top: 10px; border-radius: 25px; margin-bottom: 15px!important

}


.whitebutton a:hover, a.whitebutton:hover{
	color: #ffffff; background-color: #343045;
}





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

}

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

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

.featuredbanner{height:50vh; z-index: -9; margin-top: -100px}

.largeparagraph p{    font-size: 17px;
    line-height: 27px;
    font-weight: 400;
    letter-spacing: 0.4px;}

.contrainedcolumn{padding-left: 10%; padding-right: 10%}

.floatingh1{position: absolute; left:40px; bottom: 40px}

.bookbackground{background-position: right top; background-repeat: no-repeat; background-size: 50%}


.wpb_image_grid .wpb_image_grid_ul .isotope-item {
width: 24%; margin: 0px 1% 15px 0px!important
}

.wpb_image_grid .wpb_image_grid_ul img {
border-radius: 12px
}
.wpb_image_grid .wpb_image_grid_ul img {
transition: opacity 0.3s ease-in-out; }

.wpb_image_grid .wpb_image_grid_ul img:hover {
opacity: 0.8;
}

