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


==========================================================================================
TABLE OF CONTENTS
==========================================================================================
1.0     AT-RULES
        1.1     Fonts
        1.2     Animations
2.0     RESET
3.0     REUSABLE CLASSES
4.0     LAYOUT AND DESIGN
        4.1     Common styles
                4.1.1     Rows
                4.1.2     Accordions
                4.1.3     Carousels
                4.1.4     Forms
                4.1.5     Popups
                4.1.6     Tabs
                4.1.7     Others
        4.2     Header
                4.2.1     Rows
                4.2.2     Branding
                4.2.3     Menu
                4.2.4     Others
        4.3     Content
                4.3.1     Rows
                4.3.2     Forms
                4.3.3     Popups
                4.3.4     Carousels
                4.3.5     Others
        4.4     Footer
                4.4.1     Rows
                4.4.2     Branding
                4.4.3     Menu
                4.4.4     Others
        4.5     Others
5.0     RESPONSIVE
        5.1     Large screens only (min-width: 993px)
        5.2     Medium and small screens (max-width: 992px)
        5.3     Medium screens only (min-width: 769px and max-width: 992px)
        5.4     Medium and large screens (min-width: 769px)
        5.5     Small and smaller screens (max-width: 768px)
        5.6     Small screens only (min-width: 481px and max-width: 768px)
        5.7     Gravity Forms Desktop (min-width: 641px)
        5.8     Gravity Forms Responsive (max-width: 640px)
        5.9     Smaller screens only (max-width: 480px)
==========================================================================================
*/

/**=======================================================================================
 * 1.0  AT-RULES
 * ---------------------------------------------------------------------------------------
 * At-rules are CSS statements that instruct CSS how to behave.
 *
 * Only include the following at-rules in this area:
 * - @font-face: Describes the aspect of an external font to be downloaded
 * - @keyframes: Describes the aspect of intermediate steps in a CSS animation sequence
 =======================================================================================*/

/**
 * 1.1  FONTS
 * ---- Custom fonts to apply to the website
 */

/**
 * 1.2  ANIMATIONS
 * ---- @keyframes at-rules for CSS animations
 */

/**=======================================================================================
 * 2.0  RESET
 * ---------------------------------------------------------------------------------------
 * Set default styles for elements
 =======================================================================================*/
.fl-page p {
    margin-bottom: 1.5em;
}

/**=======================================================================================
 * 3.0  REUSABLE CLASSES
 * ---------------------------------------------------------------------------------------
 * CSS classes that can be re-used althroughout the website
 =======================================================================================*/


/**=======================================================================================
 * 4.0  LAYOUT AND DESIGN
 * ---------------------------------------------------------------------------------------
 * General and specific CSS styles for layouts, pages, and/or features
 =======================================================================================*/

/**
 * 4.1  COMMON STYLES
 * ---- Styles that are commonly used on multiple pages
 */

/* 4.1.1  Rows */
.custom-gradient-bg {
    background-image: linear-gradient(160deg, #2e3192 0%, #5935e4 10%, rgba(0, 0, 0, 0) 30%),
        linear-gradient(20deg, #fb55a8 0%, #af35d7 15%, rgba(0, 0, 0, 0) 30%),
        linear-gradient(-45deg, #2cccf1 0%, #2c7bf1 10%, rgba(0, 0, 0, 0) 30%),
        linear-gradient(-135deg, #1b1464 0%, #652fca 15%, rgba(0, 0, 0, 0) 30%),
        linear-gradient(0deg, #bc1097 0%, #8139eb 15%, #8139eb 95%, #cb106f 100%);
    background-repeat: none;
}

/* 4.1.2  Accordions */

/* 4.1.3  Carousels */
.fl-module-pp-logos-grid .pp-logos-wrapper {
    visibility: hidden;
    max-height: 140px;
}

.fl-module-pp-logos-grid .pp-logos-wrapper-loaded {
    visibility: visible;
    max-height: none;
}

/* 4.1.4  Forms */
.contact-form .gform_wrapper ul.gform_fields {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.contact-form .gform_wrapper ul.gform_fields li.gfield {
    display: block;
    flex-basis: 100%;
    float: none;
    padding: 0;
    margin: 0 0 16px;
}

.contact-form .gform_wrapper ul.gform_fields li.gf_left_half,
.contact-form .gform_wrapper ul.gform_fields li.gf_right_half,
.contact-form .gform_wrapper.gform_validation_error ul.gform_fields li.gf_left_half.gfield_error,
.contact-form .gform_wrapper.gform_validation_error ul.gform_fields li.gf_right_half.gfield_error {
    flex-basis: calc(50% - 8px);
}

.contact-form .gform_wrapper .top_label li.gfield .ginput_container {
    margin-top: 0 !important;
}

.contact-form .gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.contact-form .gform_wrapper select,
.contact-form .gform_wrapper textarea {
    padding: 15px;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    border-radius: 0;
    margin-top: 0;
    margin-bottom: 0;
}

.contact-form .gform_wrapper .gform_footer {
    padding: 16px 0 0;
    margin: 0;
    text-align: center;
}

.contact-form .gform_wrapper div.validation_error {
    background: #F00;
    padding: 14px 24px;
    border: 0;
}

.contact-form .gform_validation_errors>h2 {
    display: flex;
    align-items: center;
    color: #FFF;
    font-size: 16px;
    text-align: left;
}

.contact-form .gform_validation_errors>h2:before {
    content: "!";
    width: 30px;
    height: 30px;
    background: #FFF;
    padding: 0 0 0 2px;
    border-radius: 100%;
    margin: 0 20px 0 0;
    color: #f00;
    font-size: 20px;
    line-height: 30px;
    text-align: center;
}

.contact-form .gform_wrapper.gform_validation_error ul.gform_fields li.gf_left_half.gfield_error,
.contact-form .gform_wrapper.gform_validation_error ul.gform_fields li.gf_right_half.gfield_error,
.contact-form .gform_wrapper.gform_validation_error .gform_body ul li.gfield.gfield_error:not(.gf_left_half):not(.gf_right_half) {
    max-width: none !important;
    background: none;
    border: 0;
    margin: 0;
}

.contact-form .gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]),
.contact-form .gform_wrapper li.gfield_error select,
.contact-form .gform_wrapper li.gfield_error textarea {
    border: 0;
    background: #ffcee0;
}

.contact-form .gform_wrapper li.gfield.gfield_error div.validation_message {
    max-width: none;
    padding: 0;
    color: #f00;
    font-size: 12px;
    font-weight: 600;
}

/* 4.1.5  Popups */

/* 4.1.6  Tabs */

/* 4.1.7  Others */

/* 4.1.7.1  Buttons */
a.fl-button:hover * {
    color: inherit;
}

.fl-module.button a,
.btn-parent a,
.fl-module-pp-advanced-menu .pp-advanced-menu .menu>li.btn-parent>a,
div[id*="pp-advanced-menu-off-canvas"] .off-canvas .menu li.btn-parent>a,
.contact-form .gform_wrapper .gform_footer input.button,
.contact-form .gform_wrapper .gform_footer input[type=submit] {
    display: inline-block;
    background: none;
    padding: 10px 30px 10px;
    -webkit-border-radius: 100px;
    -moz-border-radius: 100px;
    border-radius: 100px;
    border: 1px solid #E72561;
    color: #E72561;
    font-size: 14px;
    font-weight: 500;
    line-height: 2;
    text-align: center;
    transition: 0.2s ease;
}

.fl-module.button-primary a,
.btn-primary-parent a,
.fl-module-pp-advanced-menu .pp-advanced-menu .menu>li.btn-primary-parent>a,
div[id*="pp-advanced-menu-off-canvas"] .off-canvas .menu li.btn-parent>a,
.contact-form .gform_wrapper .gform_footer input.button,
.contact-form .gform_wrapper .gform_footer input[type=submit],
.btn-parent a:hover,
.fl-module-pp-advanced-menu .pp-advanced-menu .menu>li.btn-parent>a:hover,
div[id*="pp-advanced-menu-off-canvas"] .off-canvas .menu li.btn-parent>a:hover {
    background: linear-gradient(65deg, #b412a1, #e70a52);
    color: #FFF;
    border-color: transparent;
}

.fl-module.button-primary a:hover,
.btn-primary-parent a:hover,
.fl-module-pp-advanced-menu .pp-advanced-menu .menu>li.btn-primary-parent>a:hover,
div[id*="pp-advanced-menu-off-canvas"] .off-canvas .menu li.btn-primary-parent>a:hover,
.contact-form .gform_wrapper .gform_footer input.button:hover,
.contact-form .gform_wrapper .gform_footer input[type=submit]:hover {
    background: none;
    color: #E72561 !important;
    border-color: #E72561 !important;
}

/* 4.1.7.2  SVG image over hero */
.banner-svg .fl-module-content {
    display: flex;
    justify-content: flex-end;
}

.banner-svg .fl-html {
    margin-right: -20%;
}

.banner-svg .fl-html::after {
    display: block;
    content: "";
    clear: both;
}

.banner-svg .fl-html svg {
    float: right;
}

/**
 * 4.2  HEADER
 * ---- Styles that apply to the header area
 */

/* 4.2.1  Rows */

/* 4.2.2  Branding */

/* 4.2.3  Menu */

/* 4.2.4  Others */

/**
 * 4.3  CONTENT
 * ---- Styles that apply to the content area of specific pages
 */

/* 4.3.1  Homepage */

/* 4.3.2  Services */

/* 4.3.2.1  Founder Image */
.founder-img .pp-icon-wrapper {
    display: flex;
    justify-content: center;
}

.founder-img .pp-infobox-image {
    background: rgba(101, 68, 136, 0.11);
    padding: 19px;
    border-radius: 100%;
}

/* 4.3.3  Contact Page */
.contact-bark-logo .bark-widget {
    margin-left: auto;
    margin-right: 0;
}

.contact-oneflare-logo {
    color: #FFF;
}

/**
 * 4.4  FOOTER
 * ---- Styles that apply to the footer area
 */

/* 4.4.1  Rows */

/* 4.4.2  Branding */

/* 4.4.3  Menus */

/* 4.4.4  Others */

/**
 * 4.5  OTHERS
 * ---- Styles for elements that does not meet the criteria above
 */

/* 4.5.1  Zoho Sales IQ */
.fl-builder-edit .zsiq_floatmain {
    display: none !important;
}

#zsiqbtn {
    position: fixed;
    bottom: 80px;
    right: 10px;
    z-index: 99;
}

#zsiqbtn,
#zsiqbtn * {
    font-family: 'Poppins', sans-serif;
}

#zsiqbtn .siqico-chat {
    width: auto;
    height: 72px;
    background: none;
    box-shadow: none;
    padding: 15px 0 15px 0;
    border: 0;
    transition: 0.5s ease;
}

#zsiqbtn .siqico-chat:before {
    height: 50px;
    width: 50px;
    left: auto;
    right: 0;
    z-index: 1;
    border-color: #b412a1;
    margin: 10px;
    color: #b412a1;
    line-height: 50px;
}

#zsiqbtn .siqico-chat span,
#zsiqbtn .siqico-chat em {
    opacity: 0;
    visibility: hidden;
    transition: 0.5s ease;
}

#zsiqbtn:hover .siqico-chat {
    background: #FFF;
    box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.2);
    padding-left: 15px;
    padding-right: 80px;
}

#zsiqbtn:hover .siqico-chat span,
#zsiqbtn:hover .siqico-chat em {
    opacity: 1;
    visibility: visible;
}

/**=======================================================================================
 * 5.0  RESPONSIVE
 * ---------------------------------------------------------------------------------------
 * CSS styles that apply to different media types.
 * 
 * Only include the following at-rules in this area:
 * - @media   : A conditional group rule that will apply its content if the device meets
                the criteria of the condition defined using a media query.
 * - @page    : Describes the aspect of layout changes that will be applied when printing
                the document.
 * - @supports: A conditional group rule that will apply its content if the browser meets
                the criteria of the given condition.
 =======================================================================================*/

/**
 * 5.1  LARGE SCREENS ONLY
 * ---- (min-width: 993px)
 */
@media only screen and (min-width: 993px) {}

/**
 * 5.2  MEDIUM AND SMALL SCREENS
 * ---- (max-width: 992px)
 */
@media only screen and (max-width: 992px) {}

/**
 * 5.3  MEDIUM SCREENS ONLY
 * ---- (min-width: 769px and max-width: 992px)
 */
@media only screen and (min-width: 769px) and (max-width: 992px) {
    .banner-svg .fl-html {
        margin-left: -50%;
        margin-right: -20px;
    }

    .banner-svg .fl-html svg {
        max-width: 100%;
    }
}

/**
 * 5.4  MEDIUM AND LARGE SCREENS
 * ---- (min-width: 769px)
 */
@media only screen and (min-width: 769px) {}

/**
 * 5.5  SMALL AND SMALLER SCREENS
 * ---- (max-width: 768px)
 */
@media only screen and (max-width: 768px) {
    header.fl-builder-content {
        transition: background-color 0.25s ease;
    }

    header.fl-builder-content .fl-module>.fl-module-content {
        transition: margin-top 0.25s ease, margin-bottom 0.25s ease;
    }

    header.fl-builder-content[data-sticky="1"] {
        position: fixed !important;
        top: 0;
    }

    header.fl-builder-content[data-sticky="1"].sticky-activated {
        background-color: #220949;
    }

    header.fl-builder-content[data-sticky="1"].sticky-activated .fl-module>.fl-module-content {
        margin-top: 0;
        margin-bottom: 0;
    }

    div[id*="pp-advanced-menu-off-canvas"] .pp-advanced-menu.off-canvas .pp-toggle-arrows .pp-has-submenu-container span {
        padding-left: 0;
    }

    div[id*="pp-advanced-menu-off-canvas"] .pp-advanced-menu.off-canvas .pp-toggle-arrows .pp-menu-toggle {
        position: absolute;
        right: 0;
        left: auto;
        transform: translateY(-50%);
        margin: 0;
    }

    div[id*="pp-advanced-menu-off-canvas"] .pp-advanced-menu.off-canvas .menu li.btn-parent {
        margin-top: 10px;
    }

    div[id*="pp-advanced-menu-off-canvas"] .pp-advanced-menu.off-canvas .menu li.btn-parent>a {
        display: block;
    }

    .banner-text .uabb-fancy-text-wrap {
        text-align: center;
    }

    .banner-svg .fl-html {
        margin-right: 0;
    }

    .banner-svg .fl-html svg {
        max-width: 140%;
        height: auto;
    }

    .contact-bark-logo .bark-widget {
        margin: 0 auto;
    }

    .contact-oneflare-logo .container-html {
        text-align: center;
    }
}

/**
 * 5.6  SMALL SCREENS ONLY
 * ---- (min-width: 481px and max-width: 768px)
 */
@media only screen and (min-width: 481px) and (max-width: 768px) {}

/**
 * 5.7  GRAVITY FORMS DESKTOP
 * ---- (min-width: 641px)
 */
@media only screen and (min-width: 641px) {
    .form-email-signature .gform_wrapper.gravity-theme .gfield.row-span-10 {
        grid-row: span 10;
    }

    #gform_fields_22_3 .spacer {
        display: none;
    }

    .theme-demo-wrap {
        margin-top: 20px;
    }

    .gform_wrapper.gravity-theme .theme-demo-wrap .gfield_label {
        margin-bottom: 0;
    }

    .gform_wrapper.gravity-theme .theme-demo-wrap .gfield_description {
        padding-top: 0;
        margin-bottom: 20px;
    }

    .theme-demo-container {
        background: #EEE;
        padding: 20px;
    }

    #theme-demo {
        max-width: 640px;
        background: #FFF;
        padding: 20px;
        border: 1px solid #CCC;
        margin: 0 auto;
        box-shadow: 0 3px 10px rgba(0, 0, 0, 0.1);
    }

    #theme-demo .theme-demo-name,
    #theme-demo .theme-demo-company {
        font-weight: 700;
    }

    #theme-demo .theme-demo-contact+.theme-demo-social,
    #theme-demo .theme-demo-bottom {
        margin-top: 20px;
    }

    #theme-demo .theme-demo-logo,
    #theme-demo .theme-demo-posdep,
    #theme-demo .theme-demo-tagline,
    #theme-demo[data-theme="2"] .theme-demo-contact {
        margin-bottom: 20px;
    }

    #theme-demo .theme-demo-contact+.theme-demo-social {
        display: flex;
    }

    #theme-demo .theme-demo-social {
        display: flex;
    }

    #theme-demo .theme-demo-social>div {
        display: flex;
        width: 40px;
        height: 40px;
        position: relative;
        align-items: center;
        justify-content: center;
        border: 1px solid #000;
        margin-right: 10px;
    }

    #theme-demo .theme-demo-social>div::before,
    #theme-demo .theme-demo-social>div::after {
        content: "";
        width: 1px;
        height: 100%;
        background: #000;
        position: absolute;
        left: 0;
        transform: skewX(45deg);
        transform-origin: left top;
    }

    #theme-demo .theme-demo-social>div::after {
        left: auto;
        right: 0;
        transform: skewX(-45deg);
    }

    #theme-demo .theme-demo-social>div span {
        position: relative;
        z-index: 1;
        background: #FFF;
        padding: 4px;
        line-height: 1;
    }

    #theme-demo .theme-demo-disclaimer {
        font-size: 0.875em;
    }

    #theme-demo[data-theme="2"] .theme-demo-top {
        display: flex;
        flex-direction: column-reverse;
    }

    #theme-demo[data-theme="3"] .theme-demo-top {
        display: flex;
    }

    #theme-demo[data-theme="3"] .theme-demo-left {
        flex: 50%;
        padding-right: 20px;
        border-right: 1px solid #000;
    }

    #theme-demo[data-theme="3"] .theme-demo-right {
        flex: 50%;
        padding-left: 20px;
    }

    #theme-demo[data-theme="4"] .theme-demo-top {
        display: flex;
        flex-direction: row-reverse;
    }

    #theme-demo[data-theme="4"] .theme-demo-left {
        flex: 50%;
        padding-left: 20px;
    }

    #theme-demo[data-theme="4"] .theme-demo-right {
        flex: 50%;
        padding-right: 20px;
        border-right: 1px solid #000;
    }
}

/**
 * 5.8  GRAVITY FORMS RESPONSIVE
 * ---- (max-width: 640px)
 */
@media only screen and (max-width: 640px) {
    .contact-form .gform_wrapper ul.gform_fields {
        display: block;
    }
}

/**
 * 5.9  SMALLER SCREENS ONLY
 * ---- (max-width: 480px)
 */
@media only screen and (max-width: 480px) {}