/*
Theme Name: Evolve Creative Beaver Builder Child Theme
Theme URI: https://www.evolvecreative.com/
Version: 1.0
Description: Child Theme for Beaver Builder
Author: Evolve Creative
Author URI: https://www.evolvecreative.com/
template: bb-theme
*/

/* Site Specific Styling */

.ec-link-panel,
.ec-link-panel .fl-module-ec-svg g > *,
.ec-link-panel .fl-module-ec-simple-text{transition:all .25s linear;}


.ec-link-panel:hover{
    background-color:var(--fl-global-primary2);
}

.ec-link-panel:hover .fl-module-ec-svg g > *{
    fill:#ffffff !important;
}

.ec-link-panel:hover .fl-module-ec-simple-text,
.ec-link-panel:hover .fl-module-ec-simple-text a{
    color:#ffffff !important;
}

.wpforms-container .wpforms-field:not(.wpforms-field-phone):not(.wpforms-field-select-style-modern):not(.wpforms-field-radio):not(.wpforms-field-checkbox):not(.wpforms-field-layout):not(.wpforms-field-repeater){overflow:visible !important;}


/* Image Clip Corners */
.ec-image-clip-angle-tl .fl-photo-img{clip-path: polygon(60px 0, 100% 0, 100% 100%, 0 100%, 0 60px);}

.ec-image-clip-angle-tr .fl-photo-img{clip-path: polygon(0 0, calc(100% - 60px) 0, 100% 60px, 100% 100%, 0 100%);}

.ec-image-clip-angle-br .fl-photo-img{clip-path: polygon(0 0, 100% 0, 100% calc(100% - 60px), calc(100% - 60px) 100%, 0 100%);}

.ec-image-clip-angle-bl .fl-photo-img{clip-path: polygon(0 0, 100% 0, 100% 100%, 60px 100%, 0 calc(100% - 60px));}

/* Styled Button Accent */
.ec-button-branded .fl-button{position:relative; overflow:hidden; transition:all .9s ease !important;}
.ec-button-branded .fl-button-text{z-index:1; position:relative; transition:color .9s ease !important;}
.ec-button-branded .fl-button:before{
    content: "";
    width: 200px;
    height: 200px;
    transform: rotate(50deg);
    position: absolute;
    right: -159px;
    bottom: -168px;
    transition: .9s ease;    
    z-index:0;
}

.ec-button-branded .fl-button:hover:before{
    transform: scale(3.4) translateY(15%);
    border-radius: 100%;
    transform-origin: right;   
}

.ec-button-branded.orange .fl-button:before{background-color:var(--fl-global-primary2);}
.ec-button-branded.orange .fl-button:hover:before{background-color:var(--fl-global-secondary4);}

body{
    background-size: 100% auto !important;
    background-repeat: repeat-y !important;
}

/* Icon Blink Animation */
.ec-sticker-animation .sticker-elements-frame1{ 
    animation: stickerAnimationFrame1 2s linear 0s infinite normal both;
    animation-timing-function: step-end; 
    opacity:1;
}

.ec-sticker-animation .sticker-elements-frame2{
    opacity:0;
    animation: stickerAnimationFrame2 2s linear 0s infinite normal both;
    animation-timing-function: step-end;  
}

@keyframes stickerAnimationFrame1 {
  0% {opacity:1;}
  50% {opacity:0;}
  100% {opacity:1;}
}

@keyframes stickerAnimationFrame2 {
  0% {opacity:0;}
  50% {opacity:1;}
  100% {opacity:0;}
}


/* Portfolio Filter Buttons */

.portfolio-filter-button,
.portfolio-filter-button a,
.portfolio-filter-button .fl-module-ec-svg path{transition:all .25s linear;}

.portfolio-filter-button:hover{background-color:var(--fl-global-primary2) !important;}

.portfolio-filter-button:hover .fl-module-ec-svg path{fill:#ffffff !important;}

/* Blog Post Panel */

.loop-blog-panel .p,
.loop-blog-panel path,
.loop-blog-panel .fl-module-box{transition: all .25s linear;}

.loop-blog-panel:hover .loop-blog-panel-content{background-color:var(--fl-global-primary2) !important;}
.loop-blog-panel:hover .loop-blog-panel-content p,
.loop-blog-panel:hover .loop-blog-panel-content p a{color:#ffffff !important; text-decoration:none !important;}
.loop-blog-panel:hover .fl-module-ec-svg g:first-child path{fill:#ffffff !important;}
.loop-blog-panel:hover .fl-module-ec-svg g:last-child path{fill:var(--fl-global-primary2) !important;}

/* General */

a{text-underline-offset: 4px;}


/* Faux Custom Buttons w/ Ripped Design */ 
.ec-hover-buttons a.fl-module-box > .fl-module-box,
.ec-hover-buttons a.fl-module-box > .fl-module-box p,
.ec-hover-buttons a.fl-module-box > .fl-module-box path,
.ec-hover-buttons a.fl-module-box > .fl-module-box g{transition:all .25s linear;}

body:not(.fl-builder-edit) .ec-hover-buttons a.fl-module-box > .fl-module-box{pointer-events:none;}

.ec-hover-buttons a.fl-module-box:hover > .fl-module-box{margin:0px 0px -4px 0px; background-color:var(--fl-global-primary2) !important;}
.ec-hover-buttons a.fl-module-box:hover > .fl-module-box p{color:#ffffff;}
.ec-hover-buttons a.fl-module-box:hover > .fl-module-box path{fill:#ffffff;}
.ec-hover-buttons a.fl-module-box:hover > .fl-module-box >.fl-module-box:first-child g path{fill:var(--fl-global-primary2) !important;}
.ec-hover-buttons a.fl-module-box:hover > .fl-module-box >.fl-module-box:first-child g:first-child path{fill:#ffffff !important;}


/* Power Pack Tabs */

.pp-tabs-horizontal.pp-tabs-style-2 .pp-tabs-panel-content{ 
    margin-top:5px;
    box-shadow:rgba(0, 0, 0, 0.16) 0px 3px 6px;
}

.pp-tabs-horizontal.pp-tabs-style-2 .pp-tabs-labels .pp-tabs-label:not(:last-child){
    margin-right:5px;
}

.pp-tabs-vertical.pp-tabs-style-2 .pp-tabs-label .pp-tab-label-inner{
    white-space:normal !important;
    width:100%;
}

.pp-tabs-vertical .pp-tabs-labels .pp-tabs-label:not(:last-child){margin-bottom:5px;}

@media (min-width:721px){
.pp-tabs-vertical .pp-tabs-panel{
    display: flex;
    justify-content: center;
}
.pp-tabs-vertical .pp-tabs-panel-content{max-width:500px;}
}

/* Angled BB Button */

.ec-button-angle-left .fl-button{clip-path: polygon(23px 0, 100% 0, 100% 100%, 0% 100%);}

/* Header Menus*/

header .fl-menu-toggle{transform:scale(.75);}
header .fl-menu-toggle:before,
header .fl-menu-toggle:after{border-color:var(--fl-global-primary2) !important;}


#blog-loop-slider-pagination .swiper-pagination-bullet,
#testimonial-loop-slider-pagination .swiper-pagination-bullet{background:var(--fl-global-primary1);}

#blog-loop-slider-pagination.light .swiper-pagination-bullet,
#testimonial-loop-slider-pagination.light .swiper-pagination-bullet{background:#ffffff;}

#blog-loop-slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active,
#testimonial-loop-slider-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{background-color:var(--fl-global-primary2);}


/* Power Pack Accordion */
.pp-accordion-item-active .pp-accordion-button{border-color:transparent !important;}

/* Portfolio Listing Panels */

body:not(.fl-builder-edit) .portfolio-panel-overlay{
    transition:all .25s linear;
    backdrop-filter:blur(2px);
    opacity:0;
}

.portfolio-panel:hover .portfolio-panel-overlay{opacity:1;}


/* Standard BB Theme Tweaks */ 

body,html{overflow-x: clip !important;}

.fl-builder--content-library-panel .fl-builder-template-category-hide-in-builder{display:none !important;}

p:empty{display:none;}
p:last-child,
p:only-child{margin-bottom:0px;}

a.fl-module-box:hover{text-decoration:none !important;}

.fl-post-feed-post,
.fl-post-grid-post{
    background:transparent;
    border:none;
	overflow:visible;
}

.fl-builder-module-template {
    margin: 0 auto;
    max-width: 100%;
    padding: 0px;
}

.fl-builder-content .fl-button i:only-child{margin-right:0px;}

header .sub-menu{white-space:nowrap;}
header .fl-menu-horizontal{display:flex;}

.fl-html svg{display:block;}

.wpgb-facet>fieldset:last-child,
.wpgb-facet button.wpgb-apply, 
.wpgb-facet button.wpgb-reset{margin-bottom: 0px !important;}

.ec-box-link,
.ec-box-link .fl-button{position:relative;}
body:not(.fl-builder-edit) .ec-box-link a:after{
    content: '';
    position: absolute;
    inset: 0;
    display: flex;
    z-index: 1;
}

/* Overlay Mobile Menu */

body.fl-builder-edit .fl-builder-content:not(.fl-builder-content-editing) > #overlay-menu{
    display:none;
}

#overlay-menu{
    transition:opacity .25s linear;
    overflow-x:hidden;
}

#overlay-menu-close,
#overlay-menu-open{cursor:pointer;}

.fl-builder-content:not(.fl-builder-content-editing) > #overlay-menu{
    position: fixed;
    height: 100vh;
    z-index: 999999999999;
    width: 100%;
    top: 0px;
    backdrop-filter: blur(5px);
    pointer-events:none;
    opacity:0;
}

.fl-builder-content:not(.fl-builder-content-editing) > #overlay-menu.visible{
    opacity:1;
    pointer-events:auto;
}

.fl-builder-content:not(.fl-builder-content-editing) > #overlay-menu > .fl-module-box{
    transition:transform .25s linear;
    transform:translatex(300px);
	overflow:scroll;
}

.fl-builder-content:not(.fl-builder-content-editing) > #overlay-menu.visible > .fl-module-box{
    transform:translatex(0px);
}

#overlay-menu > .fl-module-box {
    overflow: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
}

/* WPForms Styling */
.wpforms-head-container:empty{display:none;}

.wpforms-container .wpforms-field, 
.wp-core-ui div.wpforms-container .wpforms-field{padding:0px !important;}

.wpforms-field.wpforms-field-layout{margin-bottom:0px !important;}

.wpforms-container .wpforms-recaptcha-container{display:none !important;}

input[type=text]::placeholder, 
input[type=password]::placeholder, 
input[type=email]::placeholder, 
input[type=tel]::placeholder, 
input[type=date]::placeholder, 
input[type=month]::placeholder, 
input[type=week]::-placeholder, 
input[type=time]::placeholder, 
input[type=number]::placeholder, 
input[type=search]::placeholder, 
input[type=url]::placeholder, 
textarea::placeholder{opacity:1 !important;}

/* Fixes offset items within layout field structure on mobile */
@media(max-width: 600px){
    div.wpforms-container .wpforms-form .wpforms-field-layout .wpforms-layout-column, div.wpforms-container .wpforms-form .wpforms-field-repeater .wpforms-layout-column {
        padding-right: 10px !important;
    }
}

/* WPForms Dropdown Karat Change */

.wpforms-field-select select{
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image:url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8" standalone="no"%3F><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 10 5" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(-1,-1.22465e-16,1.22465e-16,-1,494,382)"><path d="M489,377l5,5l-10,0l5,-5Z" style="fill:%23000000;"/></g></svg>');
  background-size:10px 5px; 
  background-repeat:no-repeat;
  background-position:calc(100% - 10px) 50%;
  
}

.wpforms-field-select select:open{
    background-image:url('data:image/svg+xml,<%3Fxml version="1.0" encoding="UTF-8" standalone="no"%3F><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg width="100%" height="100%" viewBox="0 0 10 5" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2;"><g transform="matrix(1,2.44929e-16,-2.44929e-16,1,-484,-377)"><path d="M489,377l5,5l-10,0l5,-5Z" style="fill:%23000000;"/></g></svg>');
}

/* Multi Select Styling */
div.wpforms-container .wpforms-form .choices__list--multiple .choices__item{
	background-color:var(--fl-global-primary1) !important; 
	border:none !important; 
	padding-right:20px !important; 
	font-size:14px !important; 
	font-weight:400 !important; 
	letter-spacing:1px;
}

div.wpforms-container .wpforms-form .choices__inner{
	border-color:var(--fl-global-primary1) !important; 
	border-radius:0px !important; 
	padding:10px 15px !important;
	border:none !important;
	box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);
}

div.wpforms-container .wpforms-form .choices__inner input[type="search"]{box-shadow:none !important;}

div.wpforms-container .wpforms-form .choices[data-type*="select-multiple"] .choices__button{
	top:7px; 
	right:0px;
	box-shadow:none !important; 
	border:none !important; 
	padding:0px !important;
}

div.wpforms-container .wpforms-form .choices__list--multiple .choices__item{background-color:var(--fl-global-primary1) !important;}

/* Helpers */
.z-overlay{position:relative; z-index:1;}
.z-overlay-2{position:relative; z-index:2;}
.z-overlay-3{position:relative; z-index:3;}