/*
Theme Name: Beaver Builder Child Theme
Theme URI: http://www.wpbeaverbuilder.com
Version: 1.0
Description: An example child theme that can be used as a starting point for custom development.
Author: The Beaver Builder Team
Author URI: http://www.fastlinemedia.com
template: bb-theme
*/

/* Add your custom styles here... */ 
.variations_form .variations *{ -webkit-transition: all 0.3s ease; -o-transition: all 0.3s ease; transition: all 0.3s ease; }
.woocommerce-product-details__short-description p{ font-size: 14px; }
.variations_form .variations td{ display: block; width: 100%; min-height: auto !important; padding-bottom: 0 !important; }
.variations_form .variations td label{ margin-bottom: 8px; font-size: 1.25em; }
.variations_form .variations td.value{ margin-bottom: 24px; text-align: center; cursor: pointer; }
.variations_form .variations td.value input + label{ width: 100%; border: 1px solid #dddddd !important; border-radius: 3px; }
.variations_form .variations td.value input:checked + label{ background-color: #cccccc; }
.variations_form .variations td.value label{ font-size: 15px; color: #000000; font-weight: 400 !important; margin: 0 !important; }
.variations_form .variations td.value div{ width: 100%; cursor: pointer; position: relative; padding: 4px 0;   }
.variations_form .variations td.value input:hover + label{ background-color: #dddddd; }
.variations_form .variations td.value div input{ width: 100%; opacity: 0; position: absolute; top: 0; left: 0; height: 100%; cursor: pointer; margin: 0; z-index: 2; }

.cart .wc-pao-addon-container { position: relative; border-bottom: 1px solid #eeeeee; border-top: 1px solid #eeeeee; padding-top: 8px; }
.cart .wc-pao-addon-container:nth-child(2){  }
.cart .wc-pao-addon-container .wc-pao-addon-name{ cursor: pointer; font-size: 17px; display:flex; justify-content: space-between; align-items: center; color: #222; font-family: "Georgia",Times,serif; font-weight: 400; margin-bottom: 10px; }
.cart .wc-pao-addon-container .wc-pao-addon-image-swatch-price{ display: none; }
.cart .wc-pao-addon-container .wc-pao-addon-description, 
.cart .wc-pao-addon-container .form-row, .cart .wc-pao-addon-container .form-row .wc-pao-addon-image-swatch-select{ display: none; }

.cart div.product-addon-totals{ margin-top: 0; border-top: 0; }
.cart .wc-pao-addon-container .form-row .wc-pao-addon-image-swatch{ width: 30%; display: inline-block; margin: 8px 1.1%; text-align: center; }
.cart .wc-pao-addon-container .form-row .wc-pao-addon-image-swatch img{ max-height: 90px; width: auto; }

.cart .wc-pao-addon-container .form-row{ position: absolute; top: 0; left: -360px; box-shadow: 0px 0px 8px rgba(0,0,0,0.4); background-color: #ffffff; width: 300px; z-index: 3; padding: 15px; border-radius: 5px; }

.cart .wc-pao-addon-container .form-row #popClose{ display: inline-block; width: 16px; height: 16px; position: absolute; top: 5px; right: 8px; cursor: pointer; }

.cart div.product-addon-totals ul{ padding: 0; display: flex; flex-wrap: wrap; position: relative; }
.cart div.product-addon-totals ul li:first-child{ justify-content: space-between; margin: 0; margin-bottom: 30px; font-size: 16px; width: 100%; } 
.cart div.product-addon-totals ul li:nth-child(3)::after{ content: "+"; display: block; font-size: 20px; font-weight: 700; width: 100%; text-align: center; position: absolute; top: 38px; left: 0; }
.cart div.product-addon-totals ul li{ width: 48%; margin: 1%; justify-content: inherit; font-size: 11px; padding: 6px;  border: 1px solid #eeeeee; }
.cart div.product-addon-totals ul li div:nth-child(1){ width: 78%; }
.cart div.product-addon-totals ul li:last-child{ margin: 0; justify-content: space-between; font-size: 18px; width: 100%;  border: 0px; border-top: 1px solid #eeeeee; margin-top: 20px; text-align: right; }
.cart div.product-addon-totals ul li:last-child p{ width: 100%; font-weight: 700; }

.cart .woocommerce-variation-add-to-cart{ margin-top: 15px; }
.cart .woocommerce-variation-add-to-cart button.button{ padding: 6px 12px !important; border-radius: 4px !important; font-size: 14px !important; }
@media only screen and (min-width: 480px) {
    
}

@media (min-width:769px){
    .cart .wc-pao-addon-container .form-row{ width: 340px; }
    .cart .wc-pao-addon-container .form-row::after{ content: ""; display: inline-block;
    width: 0; height: 0; border-top: 12px solid transparent; border-bottom: 12px solid transparent; border-left: 8px solid #bbb; position: absolute;
right: -8px; top: 12px; }
	.woocommerce .fl-module-fl-woo-cart-button .variations_form .variations{ position: absolute; margin-top: 30px !important; }
}
@media (max-width:768.98px){
	.cart .wc-pao-addon-container .form-row{ top: 50%; left: 50%; -moz-transform: translate(-50%, -50%); -webkit-transform: translate(-50%, -50%); -ms-transform: translate(-50%, -50%); -o-transform: translate(-50%, -50%); transform: translate(-50%, -50%); }
}


/*.cart .quantity input[type=number] { -moz-appearance: textfield; appearance: textfield; margin: 0; }
.cart .quantity input[type=number]::-webkit-inner-spin-button, 
.cart .quantity input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.cart .quantity { position: relative; }
.cart .quantity input {
  width: 45px;
  height: 42px;
  line-height: 1.65;
  float: left;
  display: block;
  padding: 0;
  margin: 0;
  padding-left: 20px;
  border: 1px solid #eee;
}

.cart .quantity input:focus {
  outline: 0;
}

.cart .quantity-nav {
  float: left;
  position: relative;
  height: 42px;
}

.quantity-button {
  position: relative;
  cursor: pointer;
  border-left: 1px solid #eee;
  width: 20px;
  text-align: center;
  color: #333;
  font-size: 13px;
  font-family: "Trebuchet MS", Helvetica, sans-serif !important;
  line-height: 1.7;
  -webkit-transform: translateX(-100%);
  transform: translateX(-100%);
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
}

.cart .quantity-button.quantity-up {
  position: absolute;
  height: 50%;
  top: 0;
  border-bottom: 1px solid #eee;
}

.cart .quantity-button.quantity-down {
  position: absolute;
  bottom: -1px;
  height: 50%;
}*/
.woopack-products li { border:1px solid #e6e6e6; box-shadow: none; }
img.woopack-product-featured-image {
    width: 100%;
    height: 230px !important;
	padding: 5px;
}



/**---------------------------------------------------------- ENGINEROOM CUSTOM STYLES------------------------------------------------------------------------------- **/


/* Prevent any element from exceeding the viewport */

/* Hide horizontal overflow */

html, body {

overflow-x: hidden;

}


/* MEGA MENU FONT STYLING */ 
.mega-menu-wrap-max_mega_menu_1 {
	font-weight: medium!important;
}


#mega-menu-wrap-max_mega_menu_1 #mega-menu-max_mega_menu_1 > li.mega-menu-megamenu > ul.mega-sub-menu {
 
	margin-top: 20px;}


/** News Carousel Meta Bubble **/

.pp-content-grid-post .pp-content-category-list, .pp-content-carousel-post .pp-content-category-list
{
    border-radius: 100px!important;
    margin-top: 12px!important;
    margin-right: 12px!important;
    margin-left: 12px!important;
    padding-right: 20px!important;
    padding-left: 20px!important;
    padding-top: 6px!important;
    padding-bottom: 6px!important;
}


/** BUTTONS **/
a:focus, a:active {
    outline: none !important;
    border: none !important;
    box-shadow: none !important;
}


/** FORM SPACING STYLING **/
.gform_wrapper.gravity-theme .gform_fields {
	grid-row-gap: 2px !important;
}

.gform_wrapper.gravity-theme .gfield {
	margin-bottom: 0 !important;
}

.gform_wrapper.gravity-theme .gfield_label {
	margin-bottom: 2px !important;
}


.fl-node-f6anjvcgzqe7 .uabb-gf-style input[type=tel], .fl-node-f6anjvcgzqe7 .uabb-gf-style input[type=email], .fl-node-f6anjvcgzqe7 .uabb-gf-style input[type=text], .fl-node-f6anjvcgzqe7 .uabb-gf-style input[type=url], .fl-node-f6anjvcgzqe7 .uabb-gf-style input[type=number], .fl-node-f6anjvcgzqe7 .uabb-gf-style input[type=date], .fl-node-f6anjvcgzqe7 .uabb-gf-style .gform_wrapper .gfield select, .fl-node-f6anjvcgzqe7 .uabb-gf-style textarea, .fl-node-f6anjvcgzqe7 .uabb-gf-style .gform_wrapper .gfield .ginput_container_checkbox, .fl-node-f6anjvcgzqe7 .uabb-gf-style .gform_wrapper .gfield .ginput_container_radio, .gform_wrapper .ginput_container_select .chosen-container-single
Specificity: (0,3,1)
 {
    margin-top: 5px !important;
    margin-bottom: 5px !important;
}


@media (max-width: 1350px) {
    .uamodal-0n5q9bgihmt3 .uabb-content {
        width: 100%;
    }
}


/**-------------------- HOME PAGE --------------------**/
/* Beaver Builder slider - width to fit page content */


.fl-slide-foreground {
    margin: 0 auto;
    width: 1300px !important;
}



/**-------------------- HOME PAGE --------------------**/
/* Beaver Builder slider - vertically align content middle on desktop/tablet only */
@media (min-width: 769px) {
	 .fl-slide {
		display: flex !important;
		align-items: center !important;
	}

	.fl-slide-content-wrap {
		display: flex !important;
		align-items: center !important;
	}

	.fl-slide-content {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
	}

}

/* Mobile reset - allow slider content to stack naturally */
@media (max-width: 768px) {
	.fl-slide,
	.fl-slide-content-wrap,
	.fl-slide-content {
		display: block !important;
	}

	.fl-slide-foreground {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
	}
}

/* Mobile - centre align slider button */
@media (max-width: 768px) {
	.fl-slide-cta-button {
		text-align: center !important;
	}

	..fl-slide-cta-button a, .fl-button {
		display: inline-flex !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-top:0px !important;
	}
	
	.fl-slide-title, .fl-slide-text{
	margin-left:10px!important;
		margin-right:10px !important;
}

}


.fl-slide-title, .fl-slide-text{
	margin:0px!important;
}







/**-------------------- PRODUCT DETAIL PAGE --------------------**/

/* Hide WooCommerce product gallery zoom / lightbox icon */
.woocommerce-product-gallery__trigger {
	display: none !important;
}

/* Remove zoom-style cursor on product gallery images */
.woocommerce-product-gallery__image a {
	cursor: default !important;
}

/* Add spacing between main product image and thumbnails */
.woocommerce div.product div.images .flex-control-thumbs {
	margin-top: 20px !important;
}

/* Add spacing between product gallery thumbnails */
.woocommerce div.product div.images .flex-control-thumbs {
	display: flex !important;
	gap: 20px !important;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	margin: 0 !important;
}


/* Hide only the main upsells heading */
.single-product .up-sells.products > h2:first-child,
.single-product .upsells.products > h2:first-child {
	display: none !important;
	visibility: hidden!important;
}



/* Product upsells button styling */
.woocommerce ul.products li.product .woocommerce-loop-category__title, .woocommerce ul.products li.product .woocommerce-loop-product__title, .woocommerce ul.products li.product h3 {
    font-size: 17px;
}



.woocommerce-page ul.products li.product a.button, .woocommerce-page .woocommerce-message a.button, .woocommerce-page .woocommerce-message a.button.wc-forward, .woocommerce-page .woocommerce a.button.wc-forward, .woocommerce-page button.button, .woocommerce-page button.button.alt, .woocommerce-page a.button, .woocommerce-page a.button.alt, .woocommerce-page .woocommerce button[type=submit], .woocommerce-page button[type=submit].alt.disabled {

    padding-left: 30px!important;
    padding-right: 30px!important;
    padding-top: 11px!important;
    padding-bottom: 9px!important;
}

.woocommerce ul.products li.product a img, .woocommerce-page ul.products li.product a img, .woocommerce .related ul.products li.product a img, .woocommerce-page .related ul.products li.product a img, .woocommerce .upsells.products ul.products li.product a img, .woocommerce-page .upsells.products ul.products li.product a img, .woocommerce[class*=columns-] ul.products li.product a img, .woocommerce-page[class*=columns-] ul.products li.product a img, .woocommerce ul.products li.product a:hover img, .woocommerce-page ul.products li.product a:hover img, .woocommerce .related ul.products li.product a:hover img, .woocommerce-page .related ul.products li.product a:hover img, .woocommerce .upsells.products ul.products li.product a:hover img, .woocommerce-page .upsells.products ul.products li.product a:hover img, .woocommerce[class*=columns-] ul.products li.product a:hover img, .woocommerce-page[class*=columns-] ul.products li.product a:hover img {
    border: none; 
	padding: 15px;
}

/* Equal-height upsell product cards */
.single-product .upsells.products ul.products,
.single-product .up-sells.products ul.products {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: stretch !important;
}

.single-product .upsells.products ul.products li.product,
.single-product .up-sells.products ul.products li.product {
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
}

/* Keeps buttons aligned at the bottom */
.single-product .upsells.products ul.products li.product .button,
.single-product .up-sells.products ul.products li.product .button {
	margin-top: auto !important;
}


/* Centre upsell products without stretching them full-width */
.single-product .upsells.products ul.products,
.single-product .up-sells.products ul.products {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	gap: 30px !important;
}

/* Set a consistent card width */
.single-product .upsells.products ul.products li.product,
.single-product .up-sells.products ul.products li.product {
	float: none !important;
	width: 280px !important;
	max-width: 280px !important;
	margin: 0 !important;
}

/* Keep upsell buttons at their natural size */
.single-product .upsells.products ul.products li.product .button,
.single-product .up-sells.products ul.products li.product .button {
	width: auto !important;
	max-width: max-content !important;
	display: inline-flex !important;
	align-self: center !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	margin-top:10px!important;
}


/* Standard CSS Class */
.top-layer {
  position: relative; /* REQUIRED for z-index to work */
  z-index: 10;
}




/* GeoDirectory - keep address inline */
.geodir-post-address-container,
.geodir-post-address-container * {
	display: inline !important;
}

/* Remove forced address line breaks */
.geodir-post-address-container br {
	display: none !important;
}


/* SDS PAGE */

/* columns of grid view to be centre no margin offsetting it */

.fl-node-tmjbvwoqpasn > .fl-col-content {
    margin-left: 0px !important;
}




/* CATEGORY GRID VIEW */


.pp-content-post.pp-grid-style-9 .pp-grid-tile-text {
	 width: 100% !important;
	height: 100% !important;
}

.pp-content-post.pp-grid-style-9 .pp-grid-tile-info, .pp-content-post.pp-grid-style-9 .pp-grid-tile-meta {
    width: 100% !important;
    margin: 0px !important;
	    padding-left: 10px;
    padding-right: 10px;
}

.pp-content-post.pp-grid-style-9 .pp-grid-tile-text {
	position: absolute;

	background: rgba(58, 118, 185, 0.15) !important;
	background-image: none !important;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	pointer-events: none;
	z-index: 1;
}



/* Hide WooCommerce "You may also like..." heading */
.woocommerce .up-sells > h2,
.woocommerce .upsells > h2,
.woocommerce .up-sells.products > h2,
.woocommerce .upsells.products > h2 {
    display: none !important;
}

/* Hide Related Products / You may also like headings */
.single-product .related.products > h2,
.single-product .up-sells.products > h2,
.single-product .upsells.products > h2 {
    display: none !important;
}

/* Hide "You may also like..." heading */
body.single-product h2:has(+ ul.products),
body.single-product .related.products > h2,
body.single-product .upsells.products > h2 {
    display: none !important;
}
