/*
Theme Name: Websavers Theme
Version: 4.2.5
Description: Custom child theme for Websavers builds (requires bb-theme)
Author: Websavers Inc.
Author URI: https://websavers.ca
template: bb-theme

 * Custom CSS: If you need to add custom CSS it's best to do it in the Customizer
 * or in BeaverBuilder's global CSS areas. Please do not add it here so we can easily
 * update this child theme.
*/

/**
** Default Subtle Transitions / Animations
***/
.fl-logo-text,
.fl-page-nav ul.navbar-nav > li,
.fl-submenu-toggle-icon::after,
.fl-page a:link, .fl-page a:link span,
.fl-page button,
.fl-page a.fl-button *{
 transition: color 0.3s ease-out, background-color 0.3s;
}

.fl-page-header{
  transition: background-color 0.6s ease-in-out;
}

/*
** Nav Improvements
**/

/* Fade in Nav */
.fl-page-nav-right .fl-page-nav-collapse{ width: 100%; }

.fl-fixed-header .fl-page,
.fl-shrink-header-enabled .fl-page{ 
  padding-top: 0 !important; 
}

.fl-fixed-header .fl-page-nav-col .fl-page-nav-wrap,
.fl-shrink-header-enabled .fl-page-nav-col .fl-page-nav-wrap{ 
  background-color: transparent; 
  border-color: transparent; 
}

@media screen and (max-width: 767px){
  .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-mobile .fl-page-nav-collapse ul.navbar-nav > li,
  .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-mobile .fl-page-nav ul.sub-menu li{
    border-color: transparent;
  }
} 

/* Fade in navbar/header */
.fl-page-nav-collapse.navbar-collapse.collapse{ width: 100%; }
@media screen and (min-width: 768px){
  .fl-page-nav-collapse.navbar-collapse.collapse ul.navbar-nav > li{ float:none; display:inline-block; }
}
 
 /* Submenu indicator (second line is mobile indicator) */
.fl-submenu-indicator .fl-page-nav ul.navbar-nav > li.menu-item-has-children > a::after
/*,.fl-submenu-indicator .fl-page-nav ul.navbar-nav > li.menu-item-has-children .fl-submenu-toggle-icon::after*/
{
	content: "⇧";
  font-size: 20px;
	font-weight: 100;
	overflow: hidden;
	line-height:1.3;
	height: 10px;
	margin-top: 5px;
  margin-left: 1px;
	vertical-align:middle;
	
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	transform: rotate(180deg);
}
 
/* Smooth open/close animation */
.fl-page-nav-toggle-button.fl-page-nav-toggle-visible-mobile .fl-page-nav-collapse{
	padding-bottom: 0 !important;
}
.fl-page-nav-collapse ul.navbar-nav > li:last-child{
	border-bottom: none !important;
}

/* Ensures fly-in side menu displays each menu item full-width */
@media screen and (max-width: 991px){
  .fl-page-nav-right .fl-page-nav-collapse,
  .fl-page-nav-left .fl-page-nav-collapse{ display:block !important; }
}
.fl-nav-offcanvas-collapse ul.navbar-nav > li{
  display:block !important;
}
.fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-mobile .fl-submenu-icon-wrap .fl-submenu-toggle-icon{
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

/* Hamburger Icon: vertical centering */
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled .navbar-toggler{
  height: 100% !important;
  top: 0 !important;
}
/* Customizer button styles add a border: this overrides it */
.fl-page button.navbar-toggler:hover{ 
  border-style: none;
}

/*
 * Nav Search Box Overrides
**/

/* nav fading */
.fl-page-nav ul.navbar-nav{ transition: opacity 0.4s; } 

.fl-page-nav-right .fl-page-nav-search{
	position: static;
}
.fl-page-nav-search form{
	top: 8px;
	width: 0;
  padding: 0;
  border-top: none;
	z-index: 1000;
	transition: width 0.3s, border-color 0.3s;
  background-color: transparent;
  box-shadow: none;
}

.fl-page-nav-search a.fa-search{ position: static !important; }
.fl-page-nav-search.boxshowing{
  display: block;
  position: absolute;
  width: 106%;
  left: -3%;
  text-align: right;
}
.fl-page-nav-search.boxshowing form{
	width: 100%;
}
.fl-page-nav-search.boxshowing a.fa-search{
	position: absolute !important;
	z-index: 1001 !important;
	top: 11px !important;
}
.fl-page-nav-search form input.fl-search-input{
	background-color: transparent;
  padding: 25px 12px;
  font-size: 1.2em; 
  border-color: rgba(255,255,255,0.7);
  transition: border-color 0.3s;
}
.fl-page-nav-search form input.fl-search-input::placeholder{
  color: rgba(255,255,255,0.5);
}
.fl-page-nav-search.boxshowing a.fa-search::before{
  color: rgba(255,255,255,0.5);
}

/*
** Off-Canvas Nav overrides
**/

/* Add opacity to transition */
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled .fl-offcanvas-opacity{
  transition: opacity 0.5s ease-in;
}

.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled header[class*=" fl-page-nav-toggle-visible-"].fl-page-header .fl-nav-offcanvas-collapse{
 	box-shadow: 0 0 4px #666;
  border: none;
}

.fl-nav-mobile-offcanvas .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .fl-page-nav-collapse ul.navbar-nav{
  width: 100%;
}

.fl-nav-mobile-offcanvas .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .fl-page-nav-collapse ul.navbar-nav > li,
.fl-nav-mobile-offcanvas .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .fl-page-nav ul.sub-menu li{
  border-color: rgba(155,155,155,0.2);
}

.fl-nav-mobile-offcanvas .navbar-nav li > a{
  padding-top: 7px;
  padding-bottom: 7px;
}

.fl-nav-offcanvas-collapse .fl-button-close .fa-times{
 	color: transparent !important;
 	border: 1px solid white;
 	padding: 0 7px 4px 7px;
 	opacity: 0.6;
 	transition: opacity 0.3s;
}
.fl-nav-offcanvas-collapse .fl-button-close .fa-times:hover{
 	opacity: 1;
}
.fl-nav-offcanvas-collapse .fl-button-close .fa-times:before{
 	content: '×';
 	font-size: 18.4px;
 	font-weight: 100;
 	color: white !important;
 	vertical-align:top;
}
.fl-nav-offcanvas-collapse .fl-button-close .fa-times:after{
 	content: 'CLOSE MENU';
 	font-family: "Helvetica", sans-serif !important;
 	font-size: 12px;
 	font-weight: 400;
 	margin-left: 8px;
 	letter-spacing: 1px;
 	color: white !important;
}

.fl-nav-offcanvas-active .fl-page-nav-search,
.fl-nav-offcanvas-active .fl-page-nav-search form{
  display: block !important;
  position: relative !important;
  width: 100%;
  /* margin-top: 40px; */
  
}
.fl-nav-offcanvas-active .fl-page-nav-search form{
  margin: 0 5%;
  width: 90%;
}
.fl-nav-offcanvas-active .fl-page-nav-search a.fa-search{
  position: absolute !important;
  top: 8px;
  left: 14px; 
  font-size: 0.9em;
}
.fl-nav-offcanvas-active .fl-page-nav-search a.fa-search::before{
  color: rgba(255,255,255,0.5);
}
.fl-nav-offcanvas-active .fl-page-nav-search form input.fl-search-input{ 
  padding: 5px 10px 5px 30px;
  opacity: 1 !important;
  font-size: 1em;
}

/**
 * Button Overrides
 */

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

/** Tribe Events Button Borders **/
.tribe-events-header button,
.tribe-events-calendar-list-nav button{ border: none !important; }

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

/**
 * WS Custom Buttons (Shortcode). Generate similar CSS as BB does when it's loaded
 */
.ws-button{
	display: block;
	padding: 15px;
	text-align: center;
	font-size: 1.2em;
}
.ws-button:hover{
	text-decoration: none;
}

/* 
** Form Input Styles 
**/

/* Remove/Reset Default Form Styles */
input[type=text],input[type=tel],input[type=url],input[type=number],input[type=email],input[type=password],input[type=range],
.woocommerce form .form-row input.input-text,textarea {   
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  height: auto;
}
input[type=range]::-webkit-slider-thumb{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  height: auto;
  margin-top:-8px;
}
label{ font-weight: normal; }
/* End Reset */

.fl-input-group label,
.woocommerce form .form-row label:not(.checkbox),
.fl-page .wpforms-container-full .wpforms-form .wpforms-field-label,.fl-page .wpforms-container .wpforms-field-label,
.frm_form_fields .frm_primary_label{
  text-transform: uppercase;
  font-size: 0.75em;
  font-weight: 600;
  margin-bottom: 3px;
  margin-left: 1px;
}

.frm_form_fields .frm_description,
.fl-page label.wpforms-field-sublabel{ font-size: 0.65em; font-weight: 300; }

/* Checkboxes */
input[type=checkbox],input[type=radio]{ opacity: 0; }
input[type=checkbox]+label,
input[type=radio]+label{ 
  position: relative !important; 
  display: inline !important; 
  margin-left: 12px; 
}

input[type=checkbox]+label:after,
input[type=checkbox]+label:before,
input[type=radio]+label:after,
input[type=radio]+label:before{ 
    content: '';
    position: absolute;
    top: 1.5px;
    left: -25px;
    width: 20px;
    height: 20px;
    border: 1px solid #AAA;

    z-index: 1;
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

/* Checked Box */
input[type=checkbox]:checked+label:before,
input[type=radio]:checked+label:before{
  background-color: #AAA;
  z-index: 0;
  border-radius: 20px;
}

/* Unchecked Mark */
input[type=checkbox]:not(:checked)+label:after,
input[type=radio]:not(:checked)+label:after{
  width: 0;
  height: 0;
  opacity: 0;
  -webkit-transform: rotateZ(37deg);
  transform: rotateZ(37deg);
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}

/* Checked Mark */
input[type=checkbox]:checked+label:after,
input[type=radio]:checked+label:after{
  opacity: 1;
  width: 8px;
  height: 16px;
  margin-top: -1px;
  margin-left: 2px;
  border-top: 2px solid #0000;
  border-left: 2px solid #0000;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  -webkit-transform: rotateZ(37deg);
  transform: rotateZ(37deg);
  -webkit-transform-origin: 100% 100%;
  transform-origin: 100% 100%;
}

/* Disabled Box */
input[type=checkbox]:disabled+label:before,
input[type=radio]:disabled+label:before{ 
  border-color: #ccc;
  background-color: #eee;
}

/* Inline Spacing */
input[type=checkbox]+label+input[type=checkbox],
input[type=radio]+label+input[type=radio]{ 
  margin-left: 20px;
}

/* END CHECKBOXES */

/* SLIDERS */
input[type="range"]{ 
  vertical-align: middle; 
  margin: 5px 5px 5px 0; 
}
/* 3x */
input[type=range]::-ms-thumb{
  height: 28px;
  width: 28px;
  border-radius: 20px;
  color: #ffffff;
  border: 1px solid rgba(34,34,34,0.6);
  background-color: rgba(34,34,34,1);
  cursor: pointer;
}
input[type=range]::-moz-range-thumb{
  height: 28px;
  width: 28px;
  border-radius: 20px;
  color: #ffffff;
  border: 1px solid rgba(34,34,34,0.6);
  background-color: rgba(34,34,34,1);
  cursor: pointer;
}
input[type=range]::-webkit-slider-thumb{
	height: 28px;
	width: 28px;
	border-radius: 20px;
	color: #ffffff;
	border: 1px solid rgba(34,34,34,0.6);
	background-color: rgba(34,34,34,1);
	cursor: pointer;
}
/* 3x */
input[type=range]::-ms-track{
  border-radius: 25px;
  border: none;
  height: 10px;
  animation: 0.2s;
  border-color: transparent;
  border-width: 39px 0;
  color: transparent;
  background-color: rgba(34,34,34,0.2);
}
input[type=range]::-moz-range-track{
  border-radius: 25px;
  border: none;
  height: 10px;
  animation: 0.2s;
  border-color: transparent;
  border-width: 39px 0;
  color: transparent;
  background-color: rgba(34,34,34,0.2);
}
input[type=range]::-webkit-slider-runnable-track{
	border-radius: 25px;
	border: none;
	height: 10px;
	animation: 0.2s;
	border-color: transparent;
	border-width: 39px 0;
	color: transparent;
	background-color: rgba(34,34,34,0.2);
}


/**
 Formidable Forms (Works best with theme styles if you disable Formidable Styles for each form)
**/

/* Progress Bar */
.frm_forms .frm_progress_line input, .frm_forms .frm_progress_line input:disabled{ height: 20px; }
.frm_forms .frm_progress_line.frm_show_lines input{ border-radius: 0; }

/* Field Submission Error Message */
.frm_error{ color: red; font-size: 0.8em; text-transorm: uppercase; }

/* Field spacing and column Layouts */
.frm_form_field{ margin-top: 15px; margin-bottom: 15px; }

div.frm_primary_label{ margin-top: 6px; } /* Try to match with <label> elements */
input.frm_other_input{ margin-top: 5px; }

.frm_form_field input[type="checkbox"] + label,
.frm_form_field input[type="radio"] + label{
	font-size: 0.9em; /* fixes vertical alignment */
}

/* File Upload */
.frm_dropzone.frm_single_upload{ width: auto; max-width: 100%; }

/* Repeater Field Buttons */
.frm_repeat_buttons{ clear:both; }

/* Paging Prev/Next buttons */
.frm_submit{ clear:both; padding-top: 30px; text-align:center; }

/* Ensure BB styles don't override hidden fields */
input[type="text"].frm_pos_none{ display:none; }

/* Range / Sliders */
.frm_range_unit{ margin: 0 3px; }
.frm_range_container input[type="range"]{ 
  width: 75%; 
  display: block;
}

.frm_form_fields .frm_description .frm_range_max{
  float:right;
  margin-right: 25%; /* 100 minus the width above */
}

/* Date Picker */

.ui-datepicker{ border: none; }
.ui-datepicker table{ width: 100.2%; } /* weird display glitch fix */

/* Month and Year Selections*/
.ui-datepicker .ui-widget-header, .ui-datepicker .ui-datepicker-header{ 
	background-color: #AAA !important;
}

/* Current Selected Day, Day header: Su, Mo, Tu, etc., Hovered day square */
.ui-datepicker td.ui-datepicker-current-day, 
.ui-datepicker td .ui-state-hover, 
.ui-datepicker thead{ 
	background-color: #AAA !important;
}

/* Fix inline field display bugs */
.frm_fields_container .frm_full > .frm_inline_container > input:not([type="checkbox"]):not([type="radio"]):not([type="button"]),
.frm_form_field.frm_inline_container input,
.horizontal_radio input[type=text]:not(.frm_pos_none){
  width: auto !important; 
  display:inline;
  margin-left:5px;
}

/* Stripe CC Form Field */
.frm-card-element.StripeElement{
  padding: 0.85em;
}

/* Recaptcha */
.frm_form_field .g-recaptcha > div{ margin: auto; }


/**
 BuddyPress Forms
**/
.buddypress-wrap .standard-form input:focus:not(#submit){	
	border-color: #333;
}

.buddypress-wrap .standard-form input[required]:valid{ border-width: 1px; }
.buddypress-wrap .standard-form input[required]:invalid{ border-width: 1px; }
.buddypress-wrap .standard-form.notsubmitted input[required]:invalid,
.buddypress-wrap .standard-form.notsubmitted input[required]:valid{
	border-color: #EBEBEB;
	background-color: #FFF;
}
.register-page .signup-form .wp-pwd button{ background-color: transparent !important; border: none !important; color: #EBEBEB; }
.register-page .signup-form .description.indicator-hint{ background-color: transparent; }

.buddypress-wrap .select-wrap .select2 + span.select-arrow{
  display:none;
}

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

/**
 Select2 
**/
.select2-container{ max-width: 100%; }
.select2-container .select2-selection--multiple{ padding: 0.3em 0.2em 0; }
.select2-container .select2-selection span.select2-selection__rendered{
	line-height: 32px;
}

.select2-container--default .select2-results__option--highlighted[aria-selected]{
  background-color: #D3D3D3; /* Make grey to eliminate blue tone for selections */
}

/**
 * WordPress Galleries: [gallery]
 */
.fl-page .gallery{
   display:table;
}
.fl-page .gallery .gallery-item{
   float:none !important;
   display:table-cell;
   vertical-align: middle;
   margin: 5px 0 !important;
   padding: 0 5px !important;
}
.fl-page .gallery .gallery-item img{ border: none !important; }

@media screen and (max-width: 450px){
	.gallery .gallery-item{
		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;
  text-transform: uppercase;
}
 
.woocommerce .woocommerce-message, .woocommerce .woocommerce-info, .woocommerce .woocommerce-error, .woocommerce-page .woocommerce-message, .woocommerce-page .woocommerce-info, .woocommerce-page .woocommerce-error{
    font-weight: normal;
}

/** WooComm Buttons **/
.woocommerce-page .fl-page button.button{ line-height: 1.1; }
.woocommerce button.button.disabled{ padding: 6px 12px; } /* Matches BB Defaults */
.fl-page .woocommerce-message a.button{  /* Button inverted for this location */
	color: white; 
	text-align: center;
	border: none !important; 
}

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

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

.woocommerce-checkout .select2-container .select2-selection{
  height: auto;
}
.select2-container--default .select2-selection--single{ border-color: #e6e6e6; }
.select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 100%;
}
.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: 34px; }

.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){
 	li.menu-item.cta{
 		display: block;
 		border-radius: 5px;
 		background-color: #c00;
 		transition: background-color 0.3s;
 	}

 	li.menu-item.cta a{
 		padding: 0.2em;
 		color: #fff;
 		transition: color 0.3s;
 	}
 	li.current-menu-item.cta>a{ color: #fff; }
 	/* 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; }
 }

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

/**
 * Formidable Forms
 */
.frm_style_formidable-style.with_frm_style .frm_submit button{
	box-shadow: none;
}