/*
Theme Name: Websavers Theme
Version: 10.7
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-fixed-header .fl-page-header-primary{
  transition: background-color 0.6s ease-in-out;
}

/**
 * HEADER SHIFT FIX
 * Goes with Javascript in ws-custom-functions.php 
 * to prevent header shifting after page load 
 **/
.fl-shrink .fl-page-header .fl-page-bar,
.fl-fixed-header .fl-page-header .fl-page-bar{
  position: static; /* Since it's now inside the fixed position header */
}
.fl-page-header .fl-page-header-row{ position: relative; }

/* Force override the BB JS set top value */
.fl-shrink .fl-page-header,
.fl-fixed-header .fl-page-header{
  top: 0 !important; 
}
.fl-shrink.admin-bar .fl-page-header,
.fl-fixed-header.admin-bar .fl-page-header {
  top: 32px !important; 
}
@media screen and (max-width: 768px){
  .fl-shrink.admin-bar .fl-page-header,
	.fl-fixed-header.admin-bar .fl-page-header {
		top: 46px !important;
	}
}
@media (max-width: 991px) {
  .fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile {
    position: static;
  }
}

/* END HEADER SHIFT FIX */


.fl-page-bar-row .text-left,
.fl-page-bar-row .text-right{
	display: flex;
	align-items: center; /* vertical alignment */
}
.fl-page-bar .fl-page-bar-row .text-right{
 	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

.fl-page-header-primary .fl-logo-img{
	max-width: 100%;
}

/*
** Nav Improvements
**/

/* logo / Nav spacing: ensures logo col width is tight to logo */
@media (min-width: 768px){
  .fl-page-nav-left .fl-page-header-row,
  .fl-page-nav-right .fl-page-header-row,
  .fl-page-nav-bottom .fl-page-header-row
  { 
    display: flex; 
    align-items: center; 
  }
  
	.fl-page-nav-left .fl-page-header-row .fl-page-header-logo-col,
  .fl-page-nav-right .fl-page-header-row .fl-page-header-logo-col,
  .fl-page-nav-bottom .fl-page-header-row .fl-page-header-logo-col,
  .fl-page-nav-left .fl-page-header-row .fl-page-logo-wrap,
  .fl-page-nav-right .fl-page-header-row .fl-page-logo-wrap,
  .fl-page-nav-bottom .fl-page-header-row .fl-page-logo-wrap
  {
		width: auto;
		flex: 0 1 auto;
	}
  
	.fl-page-nav-left .fl-page-header-row .fl-page-nav-col,
  .fl-page-nav-right .fl-page-header-row .fl-page-nav-col,
  .fl-page-nav-bottom .fl-page-header-row .fl-page-nav-col,
  .fl-page-nav-left .fl-page-header-row .fl-page-fixed-nav-wrap,
  .fl-page-nav-right .fl-page-header-row .fl-page-fixed-nav-wrap,
  .fl-page-nav-bottom .fl-page-header-row .fl-page-fixed-nav-wrap
  {
		flex: 1;
		width: 100% !important;
		max-width: 100% !important;
	}

	.fl-page-nav-toggle-icon.fl-page-nav-toggle-visible-medium-mobile .fl-page-nav .navbar-toggle{
		right: 15px;
	}
  
  .fl-page-header-vertical:not(.fl-page-nav-toggle-visible-always) .item-left ul.navbar-nav>li>a{
    float:none;
    display:block;
    padding: 14px;
  }
  .fl-page-header-vertical:not(.fl-page-nav-toggle-visible-always) .fl-page-nav-collapse ul.navbar-nav>li>ul.sub-menu{
    top: 0;
  }

  header.fl-page-nav-bottom .fl-page-nav ul.navbar-nav{
    width: 100%;
  }
  
}
@media screen and (max-width: 998px){
  .fl-page-nav-toggle-visible-always .fl-page-header-wrap .fl-page-header-container, .fl-page-nav-toggle-visible-medium-mobile .fl-page-header-wrap .fl-page-header-container{
		padding-left: 15px;
		padding-right: 15px;
	}
}

@media (max-width: 768px){
	.fl-page-nav-right .fl-page-header-logo {
		padding-left: 0;
		padding-right: 0;
	}
}
@media (min-width: 769px) and (max-width: 999px){
	.fl-page-nav-right .fl-page-header-logo {
		padding-left: 20px;
		padding-right: 20px;
	}
}

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

.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; 
}
.fl-page-nav-wrap{
  border-color: transparent;
}

@media screen and (max-width: 767px){
  .fl-page-header.fl-page-nav-toggle-visible-mobile .fl-page-nav-collapse ul.navbar-nav > li,
  .fl-page-header.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 arrow
  * L1: Horizontal nav
  * L2+L3: vertical nav
  */
.fl-submenu-indicator .fl-page-nav ul.navbar-nav > li.menu-item-has-children > a.nav-link:after
{
  content: "+";
  font-family: "Courier" sans-serif;
  float: none;
  font-weight: 100;
  font-size: 9px;
  margin: 3px 0 0 5px;
  opacity: 0.7;
  vertical-align: text-top;
}

/* Mobile Nav Button: override absolute only when button (not when icon) */
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled.fl-fixed-header .fl-nav-offcanvas-active .fl-page-nav-toggle-button .navbar-toggle{
  position: relative;
}

/* Off-canvas mobile nav submenu indicator */
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled  .fl-page-nav-toggle-icon .fl-submenu-icon-wrap .fl-submenu-toggle-icon{
  line-height: 1em;
  vertical-align: middle;
}
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled  .fl-page-nav-toggle-icon .fl-submenu-icon-wrap .fl-submenu-toggle-icon:after{
  display: block;
  content: "+";
  font-family: "Courier" sans-serif;
  font-weight: 100;
}
.fl-page-nav-toggle-icon .fl-submenu-icon-wrap .fl-submenu-toggle-icon{
  top: 0.35em;
}

/* Open state */
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled.fl-submenu-indicator .fl-page-nav-toggle-icon ul.navbar-nav li.menu-item-has-children.fl-mobile-sub-menu-open>.fl-submenu-icon-wrap .fl-submenu-toggle-icon:after{
  content: "–";
}

/* Off-canvas mobile nav submenu item bullet */
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled .fl-page-nav-toggle-icon .fl-page-nav ul.sub-menu li a:before{
  content: "∙";
  font-family: "Times New Roman", Times, serif;
}

 
/* Smooth open/close animation */
.fl-page-nav-toggle-button .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-submenu-icon-wrap .fl-submenu-toggle-icon{
  padding-top: 0.5em;
  padding-bottom: 0.5em;
}

/* Customizer button styles add a border: this overrides it */
.fl-page button.navbar-toggler:hover{ 
  border-style: none;
}

/* Headers with paragraph tags in them rarely need auto bottom margins */
.fl-page > header p:last-child{ margin-bottom: 0 }

/*
 * Nav Search Box Overrides
**/

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

.fl-page-nav-search{
  top: 2px;
}
.fl-page-nav-right .fl-page-nav-search{
	position: static;
}
.fl-page-nav-search form{
	top: 0.25em;
	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.boxshowing{
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  text-align: right;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.fl-page-nav-search.boxshowing form{
	width: 100%;
}
.fl-page:not(.fl-nav-offcanvas-active) > header:not(.fl-page-nav-bottom) .fl-page-nav-search a.fa-search, 
.fl-page:not(.fl-nav-offcanvas-active) > header:not(.fl-page-nav-bottom) .fl-page-nav-search form{
  top: auto !important;
  bottom: 0 !important;
}
.fl-page-nav-search.boxshowing a.fa-search{
	position: absolute !important;
	z-index: 1001 !important;
  right: 13px !important;
  padding-bottom: 10px !important;
}
.fl-page-nav-search form input.fl-search-input{
	background-color: transparent;
  padding: 1em 0.5em;
  font-size: 1.1em; 
  border-radius: 0;
  border: none;
  /* 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);
}

/*
** Vertical Header/Nav
**/

.fl-page-header-vertical:not(.fl-page-nav-toggle-visible-always) .fl-page-nav-search{
  padding: 12px 3px; /* same padding as nav elements above */
}
.fl-page-nav-vertical-right .fl-page-nav-search form,
.fl-page-nav-vertical-left .fl-page-nav-search form{
  position: relative !important;
  left: auto !important;
  right: auto !important;
  padding: 0;
  padding-right: 12px;
}
.fl-page-header-vertical .fl-page-nav-search form input.fl-search-input{
  padding: 0;
}
.fl-page-header-vertical .fl-page-nav-search a.fa-search{
  bottom: 7px;
}

/*
** 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-responsive-nav-enabled .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-button.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-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-offcanvas-collapse ul.navbar-nav > li > a{
  padding-top: 12px;
  padding-bottom: 12px;
}

.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;
  width: 100%;
}
.fl-nav-offcanvas-collapse .fl-button-close .fa-times:hover{
 	opacity: 1;
}
.fl-nav-offcanvas-collapse .fl-button-close .fa-times:before{
  font-family: "Helvetica" sans-serif;
 	content: '×';
 	font-size: 12px;
 	font-weight: 100;
 	color: white !important;
}
.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%;
  
}
.fl-nav-offcanvas-active .fl-page-nav-search form{
  margin: 0 5% !important;
  width: 90%;
}

.fl-nav-offcanvas-active header .fl-page-nav-search a.fa-search{
  position: absolute !important;
  padding:0;
  width: 30px;
  top: 15px !important;
  left: 13px !important; 
  font-size: 0.8em;
}
.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 24px;
  opacity: 1 !important;
  font-size: 1em;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}

/** 
 * Beaver Themer Modules 
 */

 /* Menu Module: Make submenu arrows thin */
.fl-menu .fl-toggle-arrows .fl-menu-toggle::before{
  border-width: 1px !important;
  width: 7px !important;
  height: 7px !important;
  margin: -3px -3px 0 0 !important;
}


/**
 * BeaverBuilder Bugs / Weird Behaviour
 */
 
/* Align full width row content with fixed width row content
* Row padding is applied to the parent of fl-row-fixed-width (fl-row-content-wrap)
* However when the screen > max-width (1100px), the padding-left/right no longer
* affects the content. This hack puts the padding within the content's closer container.
*/

@media screen and (min-width: 1100px){
	.fl-row-full-width .fl-row-content-wrap .fl-row-fixed-width{
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* BB Author Bio Module doesn't have column stacking on smaller screens*/
@media screen and (max-width: 800px){
	.fl-module-fl-author-bio .fl-module-content{
		flex-direction: column;
	}
}

/* BB Posts Module doesn't apply padding between the content and its bottom divider */
.fl-module-post-grid .fl-post-feed-post{
  padding-bottom: 2em;
}

/* PowerPack Column Separators: force in background */

.pp-col-separator{ z-index: 0; }
.pp-col-separator + .fl-module{ z-index: 1; }

/* Elminiate their odd choice of fixed width small cols */
@media (max-width: 768px){
 .fl-col-small:not(.fl-col-small-full-width) {
   max-width: 100%;
 }
}

/* PowerPack accordion icons seem to have fixed widths... */
.pp-accordion span.pp-accordion-icon{
  width: auto !important;
}

/* PowerPack HoverCards 2 vertical alignment on Safari */
.fl-module.fl-module-pp-hover-cards-2 .pp-hover-card.powerpack-style .pp-hover-card-inner{
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Powerpack table of contents spacing 
 * improvements for heirarchical display
 */
 .pp-toc-container .pp-toc-list-wrapper ul{
  padding-left: 0.6em;
  margin-top: 1em;
}

/* Can't be more than 10 otherwise it overlaps the mobile offcanvas menu */
.fl-nav-mobile-offcanvas.fl-responsive-nav-enabled.fl-fixed-header .fl-nav-offcanvas-active .fl-page-bar{
  z-index: 10; 
}

/* Remove excess padding when loading a module via shortcode in these cases:
 * - Widget
 * - PopUp Maker 
 * - PowerPack Modal Content
 */
.fl-widget .fl-builder-module-template,
.fl-widget .fl-builder-module-template .fl-module-content,
.pum-content.popmake-content .fl-builder-module-template,
.pum-content.popmake-content .fl-builder-module-template .fl-module-content,
.pp-modal-content-inner .fl-builder-module-template,
.pp-modal-content-inner .fl-module-content{
	padding: 0;
	margin: 5px 0;
}

/* PowerPack Tabs Module: Vertical Display
 * Equalizes heights of the tabs and content columns
 */
.pp-tabs.pp-tabs-vertical{
  display: flex;
}
.pp-tabs.pp-tabs-vertical .pp-tabs-labels,
.pp-tabs.pp-tabs-vertical .pp-tabs-panels{
  flex: 0 1 auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.pp-tabs.pp-tabs-vertical .pp-tabs-labels .pp-tabs-label{
  display: flex;
  height: 100%;
  flex-direction: column;
  justify-content: center;
}


/**
 * Social Icons 
 */
.fl-social-icons .fa-stack{
  width: 2em; /* Match the height so it lines up against right edge when right aligned */
}

/**
 * Footer Spacing Improvements
 */
 
 
 @media screen and (min-width:768px){
	.fl-page-footer-row{
		display: flex;
		align-items: center;
	}
	.fl-page-footer-row > div{
		width: auto;
		flex-grow: 0;
	}

	.fl-page-footer .fl-page-footer-nav{ margin-bottom: 0; }
	.fl-page-footer .navbar-nav li > a{ padding-bottom: 0; }
}
@media screen and (max-width: 767px){
	.fl-page-footer-row > div:nth-child(2){
		margin-top: 1em;
	}
}


.fl-page-footer-container{
	padding-bottom: 20px;
}
footer .fl-page-footer-text{
  vertical-align: top;
  margin-top: 3px;
  padding-bottom: 0;
}
@media screen and (min-width: 768px){
	footer .fl-page-footer-text,
	footer .fl-social-icons{
		display:inline-block;
	}
  footer .fl-social-icons .fa-stack{
  	margin-bottom: 0;
  }
}

/**
 * Button Overrides
 */

 /* Some new defaults */
.fl-button{ padding: 0.5em 1.75em; }
.fl-button:hover{ text-decoration: none; }

.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: inline-block;
	text-align: center;
}
.ws-button:hover,
.ws-button a:hover{
	text-decoration: none;
}
/* When button is in header */
@media screen and (min-width: 768px){
	.fl-page-header-text{ text-align:right; }
	.fl-page-header-text .ws-button-wrap{ display: inline-block; }
}

/**
 * WS Custom Search Form/Button (Shortcode).
 */

.ws-search{ display: inline; position: relative }
.ws-search a#flsearchform:hover{ text-decoration: none }
.ws-search form{
  display: none; /* default, shows via js */
  width: 12em;
  position: absolute;
  top: -0.4em;
  right: 2em;
}

/* 
** 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; display: inline; }
/* End Reset */

input[type="checkbox"], input[type="radio"],
.fl-content .wpforms-container input[type="checkbox"], .wpforms-container input[type="radio"]{
  width: 1em;
  height: 1em;
}

.fl-input-group label,
.woocommerce form .form-row:not(.wc-pao-addon-wrap) 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; }

label.fl-builder-switch{
  margin-bottom: 0;
}

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

/**
 * Tribe Events Calendar
 */
 .tribe-common button{ padding: 0.5em 1em; }
 .tribe-common--breakpoint-medium.tribe-events .tribe-common-c-btn.tribe-events-c-search__button{
   height: 100%;
   border-top-left-radius: 0;
   border-bottom-left-radius: 0;
 }
 .tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search__input{
   border-top-right-radius: 0;
   border-bottom-right-radius: 0;
 }

/**
 * WP-Forms
 */
 
/* Weird bug where can't fill fields within */
.wpforms-widget .wpforms-container .wpforms-field{ position: static; }

/* 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;
	}
}
/* Button Height - allow to be defined by padding */
div.wpforms-container-full button[type=submit]{
	height: auto !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-selection--single{ border-color: #e6e6e6; }
.select2-container--default .select2-selection--single .select2-selection__arrow{
  height: 100%;
  top: 0;
}

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

/* Popup Maker */
.pum-popup-close{ line-height: 1 !important; }

/* Dokan */
.dokan-dashboard .fl-page button.button{ font-size: inherit; }
.dokan-dashboard-header h1{ font-size: 1.2em; }

/**
 * Force equalize heights
 * - PP Content Module
 */
 @media screen and (min-width: 768px){
	
	.pp-content-post{ display:flex; flex-direction: column; }
	.pp-content-body{ height: 100%; }

	.pp-content-post-data{
		display:flex;
		height: 100%;
		/* show flex items as 1 column */
		flex-direction: column;
		/* equalize spacing between elements of the column, so last element is at bottom */
		justify-content: space-between; 
	}
  
}
.pp-content-post-data .pp-add-to-cart a:hover{ text-decoration: none; }

/** Equalize Heights on WooComm Product Grid **/
@media screen and (min-width: 768px){

  .woocommerce.woo-4 ul.products,
  .woocommerce.woo-5 ul.products,
  .woocommerce.woo-6 ul.products{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 1em;
  }
  .woocommerce.woo-5 ul.products{ grid-template-columns: repeat(5, 1fr) }
  .woocommerce.woo-6 ul.products{ grid-template-columns: repeat(6, 1fr) }
  
  .woocommerce ul.products::before{
    display:none !important;
  }
  .woocommerce ul.products li.product,
  .woocommerce.woo-4.archive ul.products.columns-4 li.product,
  .woocommerce.woo-5.archive ul.products.columns-5 li.product,
  .woocommerce.woo-6.archive ul.products.columns-6 li.product{
    display: flex;
    flex-direction: column;
    float: none;
    width: 100% !important;
  }
  .woocommerce ul.products li.product a.button{
    margin-top: auto;
  }
  
}
@media screen and (min-width: 350px) and (max-width: 767px){
  
  .woocommerce.woo-4 ul.products,
  .woocommerce.woo-5 ul.products,
  .woocommerce.woo-6 ul.products{
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1em;
  }
  .woocommerce ul.products::before{
    display:none !important;
  }
  .woocommerce.woo-4 ul.products.columns-4 li.product,
  .woocommerce.woo-5 ul.products.columns-4 li.product,
  .woocommerce.woo-6 ul.products.columns-4 li.product{
    display: flex;
    flex-direction: column;
    float: none;
    width: 100% !important;
  }
  .woocommerce ul.products li.product a.button{
    margin-top: auto;
  }
  
}

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

/**
 * Nav CTA class which can be applied to any menu entry: .cta
 * or via customizer
 */
 @media screen and (min-width: 795px){
 	li.menu-item.cta{
 		display: block;
 		border-radius: 2px;
 		background-color: #000;
 		transition: background-color 0.3s;
 	}

 	li.menu-item.cta a{
 		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; }
 }

 /*===================================*/
 
 /**
  * twocol class which can be applied to PowerPack accordions to split
  * them into two columns
  */

@media screen and (min-width: 768px){
	
	.twocol.fl-module-pp-advanced-accordion .pp-accordion{
		-webkit-column-count: 2;
		-moz-column-count: 2;
		-o-column-count: 2;
		column-count: 2; 
	}
	.twocol.fl-module-pp-advanced-accordion .pp-accordion .pp-accordion-item{
		-webkit-column-break-inside: avoid;
							page-break-inside: avoid;
									 break-inside: avoid;
	}

}

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

 /**
  * quote-left-border class which can be applied to PowerPack Pullquotes
  * to add a rounded point left border to quotes
  */
 .quote-left-border .pp-pullquote-wrapper{ 
  position: relative; 
  display:flex;
  padding-left: 10px;
}
.quote-left-border .pp-pullquote-wrapper::before{
  content: '';
  position: absolute;
  top: 0.4em;
  left: 0;
  height: calc(100% - 1.75em);
  border-left: 3px solid;
  border-radius: 20px;
}

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

 /* WP BLOCKS */
 /* Do not exceed screen width on constrained widths */
 @media screen and (max-width: 1100px){
  body.has-blocks .fl-post-content .alignwide{
    margin-left: 0; 
    margin-right: 0;
  }
}