/*
Theme Name: Websavers Theme
Version: 2.3.2
Description: Custom theme for Websavers builds
Author: Websavers Inc.
Author URI: https://websavers.ca
template: bb-theme

Changelog
v2.3.3: Modify includes/archive-header.php to always show tag/category description when available (and CSS to match)
v2.3.2: Restructure custom functions and move ws credit link to copyright.php
v2.3.1: Add includes/copyright.php override from BB theme, setting *only* copyright text.
v2.3.0: Set colours in theme Customizer UI now to have them sync with BB plugin and theme
v2.2.0: Improve default WordPress gallery styles and add custom JS file to theme dir
v2.1.3: Add CSS to better support Impress Listings (realtor) plugin
v2.1.2: Repair colour sync -- it works now.
v2.1.1: Minor WPForms PowerPack tweaks to box sizing/padding
v2.1.0: Add colour sync. Set colours in functions.php to be shown in pallettes everywhere
v2.0.1: Repair yoast filter code to actually remove woocomm pages from sitemap
v2.0: Add Yoast filter to remove checkout/cart/my-account pages from sitemap XML
v1.9: Add '.cta' class which we can use on farthest right menu item to style it differently.
v1.8: Unload FontAwesome4 -- we will only be using v5 from now on
v1.7: Better selector for PayPal radio button, restore button sizing for woocommerce checkout
v1.6: Add fixes for WP Forms select field visibility
v1.5: Add custom font code
v1.4: Remove replacements for old social icons as BB has switched to FA for them
v1.3: Added replacements for old social icons
v1.2: Remove certain button overrides to allow customization in BB plugin
*/

/**
 * Define Custom Fonts
 */
/*
@font-face {
  font-family: 'Avenir';
  src: url('/wp-content/themes/ws-theme/font/avenir.otf');
	src: url('/wp-content/themes/ws-theme/font/avenir.woff');
}
*/
/**
 * Mobile Nav Fixes 
 */
.fl-page-nav-toggle-button.fl-page-nav-toggle-visible-mobile .fl-page-nav-collapse{
	padding-bottom: 0 !important; /* Smooth open/close animation */
}
.fl-page-nav-collapse ul.navbar-nav > li:last-child{
	border-bottom: none !important;
}

/**
 * Button Overrides
 */
input,textarea{ border-radius: 0 !important; }
input[type=submit], input[type=submit].button, input[type=button], button, .btn,
.woocommerce .woocommerce-message a.button, .woocommerce .woocommerce-info a.button, .woocommerce .woocommerce-error a.button, .woocommerce-page .woocommerce-message a.button, .woocommerce-page .woocommerce-info a.button, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #review_form #respond .form-submit input{
    border-radius: 0;
    border-color: transparent;
/*    color: white; */
    transition: color 0.3s, background-color 0.3s, opacity 0.3s !important;
}

input[type=submit]:hover, input[type=submit].button:hover, input[type=button]:hover, button:hover, .fl-button:hover,
.woocommerce .woocommerce-message a.button:hover, .woocommerce .woocommerce-info a.button:hover, .woocommerce .woocommerce-error a.button:hover, .woocommerce-page .woocommerce-message a.button:hover, .woocommerce-page .woocommerce-info a.button:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce #review_form #respond .form-submit input:hover{
    border-color: transparent;
}

.woocommerce button.button.alt.disabled,.woocommerce button.button.alt.disabled:hover,.woocommerce-page button.button.alt:hover{ background-color: #c3c3c3; }

.fl-button.fl-button-icon-animation:hover i.fl-button-icon-after{
    margin-right: 1em;
}

/** Contact Form button and recaptcha more app-like on mobile **/
@media screen and (min-width: 600px){
	.fl-recaptcha{ float:left; }
	.fl-recaptcha + .fl-button-width-auto.fl-button-right{ float:right; }
}

@media screen and (max-width: 599px){
	.fl-recaptcha .g-recaptcha div{ margin: auto; }
	.fl-recaptcha + .fl-button-width-auto{ text-align:center; }
	.fl-recaptcha + .fl-button-width-auto a{ width: 100% }
}

/**
* Archive Category/Tag Title Overrides to Handle Display of Descriptions
*/
.fl-archive .fl-archive-header h1.fl-archive-title{
	margin-bottom: 5px;
	border-bottom-style: dashed;
}
.fl-archive .fl-archive-header h1.fl-archive-title + .fl-archive-description{
	margin-bottom: 30px;
	padding-bottom: 5px;
	border-bottom: 1px dashed #e6e6e6;
}
.fl-archive .fl-archive-header h1.fl-archive-title + .fl-archive-description p:last-child{
	margin-bottom: 0;
}

/** 
 * Remove 'separator' borders from columns when on mobile. They don't work here.
 */
@media screen and (max-width: 768px){
	.fl-builder-content .fl-col + .fl-col > .fl-col-content{
		border: none;
	}
}

/**
 * WP Forms PowerPack Module Overrides
 */
 
/* Select field Fixes */
.pp-wpforms-content div.wpforms-container-full .wpforms-form select{
    padding: 0 7px !important;
}
/* Box Padding */
@media screen and (max-width: 450px){
	.pp-wpforms-content{
		padding: 10px 15px !important;
	}
}

/**
 * WordPress Galleries: [gallery]
 */
.gallery .gallery-item{
	margin: 5px 0 !important;
	padding: 0 5px !important;
}
.gallery .gallery-item img{
	border: none !important;
}
@media screen and (max-width: 450px){
	.gallery .gallery-item{
		float: none !important;
		width: 100% !important;
	}
}
/* Gallery lightbox tweaks */
.mfp-iframe-holder .mfp-close, .mfp-image-holder .mfp-close{
	right: 6px;
}

/**
 * Impress Listings Overrides
 */

.single-listing .fl-sidebar-right,
.post-type-archive-listing .fl-sidebar-right{
	display:none;
}
.listing .label{ 
	color: black;
}

.wplistings-single-listing td{
	border-top: none; 
	font-size: inherit;
	line-height: 1.5;
}
.listing td.label{ /** Override bootstrap .label styles **/
	display:block;
	text-align:left;
	padding-right: 10px;
	border-radius: 0;
	line-height: 1.5;
	font-size: inherit;
}

.fl-sidebar .listing + .listing{
	margin-top: 45px;
}
.fl-sidebar .listing .more-link{
	padding: 5px 15px 6px;
	text-transform: uppercase;
}

#listing-contact .g-recaptcha{ 
 margin-bottom: 15px; 
}

@media screen and (max-width: 400px){
	#listing-agent, #listing-contact{
		padding: 16px; /* ensures recaptcha isn't offscreen on mobile */
	}
}
/* Hide in widget if title = address */
/*.listing-widget-details p.listing-address{ display:none; }*/

/**
 * WooCommerce Overrides
 */
 
/* Cart Remove Buttons: Fixes non-centred "x" spacing issues */
.woocommerce-cart a.remove{
	height: 1.1em;
	width: 1.14em;
}

/* Cart Proceed Button spacing issues */
.woocommerce-cart .wc-proceed-to-checkout a.button.alt{
	padding-top: 1em;
	padding-bottom: 1em;
}
 
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error, .woocommerce-page .woocommerce-message, .woocommerce-page .woocommerce-info, .woocommerce-page .woocommerce-error{
    font-weight: normal;
}

/** Full Width Order Button **/
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order{
    width: 100%;
    font-size: 1.5em;
    padding: 0.8em;
    height: auto;
    text-transform: uppercase;
}

.woocommerce form .form-row select{ display: inline; }

.woocommerce-checkout .select2-container .select2-selection{
  height: 31px;
}
.woocommerce-checkout #payment div.payment_box:before{
	border: 1em solid #f7f7f7;
	border-right-color: transparent;
	border-left-color: transparent;
	border-top-color: transparent;
}

.woocommerce table.cart td.actions .coupon .input-text, .woocommerce-page table.cart td.actions .coupon .input-text{ height: 30px; }

.woocommerce table.shop_table, .woocommerce-page table.shop_table,
.woocommerce #order_review, .woocommerce-page #order_review,
.woocommerce #payment, .woocommerce-page #payment{
	background-color: transparent;
	border: none;
	padding: 0;
}

.woocommerce table.cart a.remove:hover, .woocommerce-page table.cart a.remove:hover{ background: red; }

/* PayPal Radio Button on checkout */
.woocommerce-checkout #payment ul.payment_methods li input#payment_method_paypal.input-radio{ vertical-align: top; margin-top: 15px; }
/* Fixed font size for select2 dropdowns */
.woocommerce form .form-row.woocommerce-validated .select2-container{
  font-size: 15px;
}

/* Client Area Dashboard Pages */
.woocommerce-account table.shop_table tr.order_item td.product-name > a{
	pointer-events: none;
	cursor: default;
}
.woocommerce-account table.shop_table tr.order_item td.product-name .download-url a{
	text-decoration: underline;
}

/* Select dropdowns font color. Ensures dark backgrounds, light text doesn't have a problem */
.woocommerce .woocommerce-ordering select{ color: black; }

/* Single Product: Hide Extended Description Header */
.woocommerce div.product .woocommerce-tabs .panel h2:first-child, .woocommerce-page div.product .woocommerce-tabs .panel h2:first-child{
	display:none;
}

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

/**
 * Nav CTA Class which can be applied to any menu entry: .cta
 */
@media screen and (min-width: 795px){
	ul.navbar-nav{ width: 95%; } /* Accommodates for search icon */
	li.menu-item.cta{
		display: block;
		border-radius: 5px;
		background-color: #fff;
		margin: 0.5em;
		float:right;
		transition: background-color 0.3s;
	}

	li.menu-item.cta a{
		padding: 7px 10px 4px;
		line-height: 1;
		color: #000;
		transition: color 0.3s;
	}
	li.current-menu-item.cta>a{ color: #000 !important; }
	/* Fixed Header Tweaks */
	.fl-page-header-fixed li.menu-item.cta{ margin: 0.3em 0.1em; }
	.fl-page-header-fixed li.menu-item.cta a{ padding: 7px 10px 4px !important; }
}

.boxed-listings {
	width: 100% !important;
	max-width: 100% !important;
}

.boxed-listings .inner-page {
	max-width: 90%;
margin: 0 auto;
}

.fl-builder-content-312 .fl-node-5defd96467d43 > .fl-row-content-wrap.carBG {
	background-image: url('https://dev.superdavesautosales.ca/wp-content/uploads/2019/12/IWantACarBackground.jpg');
}
.fl-builder-content-312 .fl-node-5defd96467d43 > .fl-row-content-wrap.truckBG {
background-image: url('https://dev.superdavesautosales.ca/wp-content/uploads/2019/12/IWantATruckBackground.jpg');
}

.fl-builder-content-312 .fl-node-5defd96467d43 > .fl-row-content-wrap.vanBG {
background-image: url('https://dev.superdavesautosales.ca/wp-content/uploads/2019/12/IWantAVanBackground.jpg');
}

.fl-builder-content-312 .fl-node-5defd96467d43 > .fl-row-content-wrap.suvBG {
background-image: url('https://dev.superdavesautosales.ca/wp-content/uploads/2019/12/IWantASuvBackground.jpg');
}


.credit-score-rating .frm_radio input[type="radio"] {
display: none;
}
.credit-score-rating .frm_opt_container .frm_radio {
	width: 18%;
}
.credit-score-rating .frm_opt_container .frm_radio label:hover  {
	background-color: #ffe900;
	color: #000000;
	transition: 0.3s;
	border-style: solid;
border-width: 1px;
border-color: #dddddd;
}
.credit-score-rating .frm_opt_container .frm_radio label.wsSelected  {
	background-color: #ffe900;
	color: #000000;
	transition: 0.3s;
	border-style: solid;
border-width: 1px;
border-color: #dddddd;
}

.credit-score-rating .frm_opt_container .frm_radio label {

	font-family: "Poppins";
	font-style: normal;
		border-style: solid;
border-width: 1px;
border-color: #dddddd;
	font-weight: 400;
	font-size: 1.2em;
	padding-top: 10px;
	padding-bottom: 10px;
	line-height: 20px;
	text-align: center;
	color: #ffffff;
	background-color: #137ac3;
	border-radius: 5px;
	transition: 0.3s;
	width: 100% !important;
	display: inline-block !important;
}
#form_carpaymentcalculator input[type="number"] {
	border-radius: 5px !important;
}
#frm_form_2_container .frm_range_container > span { 
	display: none;
}


@media screen and (max-width: 768px) {
	#frm_radio_9-0 {width: 45%;}
	#frm_radio_9-1 {width: 45%;}
	#frm_radio_9-2 {width: 45%;}
	#frm_radio_9-3 {width: 45%;}
	#frm_radio_9-4 {width: 92%;}
}

#frm_form_2_container .biweeklyPmt input {
	text-align: right;
	border: none;
	background-color: #f0f9f9;
	font-size: 22px;
	box-shadow: none;
	color: #000000
}

#field_9yvqm_label {
	font-size: 22px;
	width: 250px;
}

.print_friendly.print_header {
//	display: none;
}
.print_friendly.print_tabs {
//	display: none;
}
.single-listings .inner-page.inventory-listing {
	margin: 0 auto;
	max-width: 1300px;
}


.recent-vehicles-wrap .recent-vehicle {
	max-width: 20%;
}
.recent-vehicles-wrap .col-lg-10 {
	max-width: 80%;
}
.single-listings .inventory-heading {
	padding-top: 30px;
	padding-bottom: 40px;
	}

.container.content-nav-buttons {
	margin-left: 2.5% !important;

}
.col-lg-12.content-nav.margin-bottom-30 {
	margin-bottom: 0px !important;
	padding-bottom: 0px !important;
}

div.fl-html a.modalButton, #homeCalculator .frm_button_submit {
	text-transform: uppercase;
	border: 1px solid #f3f3f3;
	border-style: solid;
	border-width: 0;
	background-clip: border-box;
	border-color: #137ac3;
	border-top-width: 1px;
	border-right-width: 1px;
	border-bottom-width: 1px;
	border-left-width: 1px;
	background: #ffffff;
	color: #2d313b;
	padding-top: 15px;
	padding-right: 20px;
	padding-bottom: 15px;
	padding-left: 20px;
	display: block;
	width: 100%;
	text-align: center;
}
div.fl-html a.modalButton:hover {
	color: #ffffff;
	text-decoration: none;
	background-color: #137ac3;
}

#frm_field_31_container label {
	font-family: Lato;
font-style: normal;
font-weight: 400;
font-size: 22px;
line-height: 65px;
text-align: center;
color: #000000;
background-color: #d6d6d6;
border-radius: 2px;
transition: 0.3s;
	width: 100% !important;
	display: inline-block !important;
}

button.selectButton {
font-family: Lato;
font-style: normal;
font-weight: 400;
font-size: 22px;
line-height: 25px;
text-align: center;
color: #FFF;
background-color: #1380cc;
border-radius: 5px;
padding: 15px 20px;
transition: 0.3s;
width: 100%;
}

.modal-content {
	border-radius: 10px;
	border: 5px solid #137ac3;
	padding: 10px 10px 10px 10px;
}
#form_leadcapturesection fieldset {	padding: 0;}
#form_leadcapturesection fieldset h2 { margin-top: 10px;}
.modal.fade .modal-dialog {
    -webkit-transform: scale(0.1) !important;
    -moz-transform: scale(0.1) !important;
    -ms-transform: scale(0.1) !important;
    transform: scale(0.1) !important;
    opacity: 0 !important;
    -webkit-transition: all 0.3s !important;
    -moz-transition: all 0.3s !important;
    transition: all 0.3s !important;
}

.modal.fade.show .modal-dialog {
    -webkit-transform: scale(1) !important;
    -moz-transform: scale(1) !important;
    -ms-transform: scale(1) !important;
	top: 300px;
    transform: scale(1) !important;
    -webkit-transform: translate3d(0, -200px, 0) !important;
    transform: translate3d(0, -200px, 0) !important;
    opacity: 1 !important;
}

.paymentButtonFields input {
	margin: 3px 0 0 -20px !important;
	width: 255px !important;
	height: 60px !important;
	position: fixed !important;
	opacity: 0;
}
.paymentButtonFields label {
}
.paymentButtonFields label:hover, .paymentButtonFields label.wsSelected {
	background-color: #1380cc !important;
	color: #fff !important;
}
@media screen and (max-width: 600px) {
	
	#frm_field_31_container label {
		font-size: 16px;
	}
	.red-button {
    font-size: 2em !important;
    padding: 20px 15px !important;
	}
}
#frm_form_3_container .frm_page_num_1 .frm_button_submit {
	display: none !important;
}
@media screen and (max-width: 320px) {
	
	#frm_field_31_container label {
		font-size: 13px;
	}
}

#frm_field_37_container, #frm_field_135_container, #frm_field_120_container {display: none;}
div.modal-header {display: none;}
h2.apply {color:#137ac3;}

div.nav-links div a, p a, .fl-post-feed a {
	color: #137ac3;
}
.menu-item:hover a {
text-decoration: underline;
}

.menu-item-has-children .sub-menu li.menu-item a {
	text-decoration: none;
}
.sub-menu li:hover a {
text-decoration: underline !important;
}

.pp-er-title {
	text-decoration: underline;
}

.pagination_container .pagination li a {
color: #333333;
	padding-left: 10px;
	padding-right: 10px;
}
.pagination_container .pagination li a:hover {
color: #137ac3;
}
.modalButton.sendMessageButton {
	margin-bottom: 15px !important;
}

.modalButton {
	border-radius: 5px;
}

.listing_sort .sbSelector {width: 100% !important;}
div.tax {display: none;}

button.reset_widget_filter {
	color: #ffffff;
	width: 95%;
	height: 50px;
	background-color: #137ac3
}
button.reset_widget_filter:hover {
	background-color: #ffe900;
	color: #ffffff;
}
.side-widget .select-form .max-dropdown {
	width: 95% !important;
}
.side-widget .sbHolder, .side-widget .sbSelector, .side-widget .sbOptions {
	width: 100% !important;
}
a.sbSelector:link, a.sbSelector {
	line-height: 38px;
	height: 40px;
	font-size: 16px;
}
.side-widget .my-dropdown, .sbHolder {
	height: 40px;
}
.pagination .reset_widget_filter {
	max-width: 300px !important;
}
@media screen and (max-width: 1199px) {
	.side-content {
		display: none !important;
	}
}
@media screen and (min-width: 1200px) {
	.listing_sort {display: none !important;}	
}

div.price .current-price {
	display: none;
}

.figure {
	font-size: 26px;
	color: #5bcc47;
}

tr.listing_category_price {display: none;}

ul.sub-menu {
	border: solid 1px #dddddd;
}

.pp-ff-content .frm_forms .form-field select {
	height: 44px !important;
}

.ui-datepicker .ui-datepicker-title {
	color: #333 !important;
}
#frm_field_9_container input {display: none !important;}

/* Vehicle Scroller FlexSlider Styles */
.flexslider-vehicle-scroller {
    position: relative;
    margin: 20px 0;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    overflow: hidden;
}

.flexslider-vehicle-scroller .recent-vehicles-header {
    padding: 20px;
    text-align: center;
    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
    color: white;
}

.flexslider-vehicle-scroller .recent-vehicles-header h3 {
    margin: 0 0 10px 0;
    font-size: 24px;
    font-weight: 600;
}

.flexslider-vehicle-scroller .recent-vehicles-header p {
    margin: 0;
    opacity: 0.9;
}

.flexslider-vehicle-scroller .flexslider-container {
    position: relative;
    padding: 20px;
}

.flexslider-vehicle-scroller .flexslider {
    margin: 0;
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
}

.flexslider-vehicle-scroller .vehicle-item {
    text-align: center;
    padding: 15px;
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    margin: 0 10px;
}

.flexslider-vehicle-scroller .vehicle-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 20px rgba(0,0,0,0.15);
}

.flexslider-vehicle-scroller .vehicle-item img {
    width: 100%;
    height: auto;
    border-radius: 5px;
    transition: transform 0.3s ease;
}

.flexslider-vehicle-scroller .vehicle-item:hover img {
    transform: scale(1.05);
}

.flexslider-vehicle-scroller .vehicle-info {
    padding: 15px 0 0 0;
}

.flexslider-vehicle-scroller .vehicle-info h4 {
    margin: 0 0 10px 0;
    font-size: 16px;
    font-weight: 600;
}

.flexslider-vehicle-scroller .vehicle-info h4 a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.flexslider-vehicle-scroller .vehicle-info h4 a:hover {
    color: #667eea;
}

.flexslider-vehicle-scroller .vehicle-details {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 14px;
    color: #666;
}

.flexslider-vehicle-scroller .price {
    font-weight: 600;
    color: #2c3e50;
    font-size: 16px;
}

.flexslider-vehicle-scroller .mileage {
    color: #7f8c8d;
}

/* Navigation Styles */
.flexslider-vehicle-scroller .flexslider-nav {
    position: absolute;
    top: 50%;
    width: 100%;
    pointer-events: none;
    z-index: 10;
}

.flexslider-vehicle-scroller .flex-prev,
.flexslider-vehicle-scroller .flex-next {
    position: absolute;
    top: -20px;
    width: 50px;
    height: 50px;
    background: rgba(102, 126, 234, 0.9);
    color: white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: all;
    transition: all 0.3s ease;
    text-decoration: none;
    font-size: 18px;
}

.flexslider-vehicle-scroller .flex-prev:hover,
.flexslider-vehicle-scroller .flex-next:hover {
    background: rgba(102, 126, 234, 1);
    transform: scale(1.1);
}

.flexslider-vehicle-scroller .flex-prev {
    left: -25px;
}

.flexslider-vehicle-scroller .flex-next {
    right: -25px;
}

/* Responsive Design */
@media (max-width: 768px) {
    .flexslider-vehicle-scroller .flexslider-container {
        padding: 15px;
    }
    
    .flexslider-vehicle-scroller .vehicle-item {
        margin: 0 5px;
        padding: 10px;
    }
    
    .flexslider-vehicle-scroller .flex-prev {
        left: 10px;
    }
    
    .flexslider-vehicle-scroller .flex-next {
        right: 10px;
    }
    
    .flexslider-vehicle-scroller .recent-vehicles-header h3 {
        font-size: 20px;
    }
}

@media (max-width: 480px) {
    .flexslider-vehicle-scroller .vehicle-details {
        flex-direction: column;
        gap: 5px;
    }
    
    .flexslider-vehicle-scroller .price {
        font-size: 14px;
    }
    
    .flexslider-vehicle-scroller .mileage {
        font-size: 12px;
    }
}