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

/*styles that adjust the beaver builder editor interface are in bb under Global Settings*/

:root {
    --small-spacer: 25px;
    --medium-spacer: 50px;
    --large-spacer: 100px;
    --line-size: 14px;
}



/*sticky scrolling sections start*/
@media (min-width: 769px) {
    .left-sticky .fl-col-group .fl-col:first-child,
    .right-sticky .fl-col-group .fl-col:last-child {
        position: sticky;
        top: 0;
    }
}
/*note: padding below overrides the row padding in global settings*/
@media (min-width: 1000px) {
    .fl-page-content .fl-row-content,
    .fl-page-content .left-sticky .fl-row-content .fl-col-content,
    .fl-page-content .left-sticky .fl-row-content .fl-module-box,
    .fl-page-content .gradient-photo-background .fl-row-content .fl-col-content,
    .fl-page-content .gradient-photo-background .fl-row-content .fl-module-box,
    .fl-page-content .full-width-cols .fl-row-content .fl-col-content,
    .fl-page-content .full-width-cols .fl-row-content .fl-module-box {
        padding: 150px 5vw;
    }
}
@media (max-width: 999px) {
    .fl-page-content .fl-row-content,
    .fl-page-content .left-sticky .fl-row-content .fl-col-content,
    .fl-page-content .left-sticky .fl-row-content .fl-module-box,
    .fl-page-content .gradient-photo-background .fl-row-content .fl-col-content,
    .fl-page-content .gradient-photo-background .fl-row-content .fl-module-box,    
    .fl-page-content .full-width-cols .fl-row-content .fl-col-content,
    .fl-page-content .full-width-cols .fl-row-content .fl-module-box {
        padding: 100px 5vw;
    }
}
@media (min-width: 768px) {
    .gradient-photo-background.dark-background.centered .fl-col-group,
    .gradient-photo-background.dark-background.centered  .fl-module-box .fl-module {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}
.left-sticky .fl-col-group .fl-col:first-child .fl-col-content .fl-module .fl-module {
    padding: 0 20px;
}
.left-sticky .fl-col-group .fl-col:first-child .fl-col-content {
    padding: 0;
}
.fl-row-content-wrap, .fl-builder-content > .fl-module-box,
.fl-page-content .left-sticky .fl-row-content,
.fl-page-content .gradient-photo-background .fl-row-content,
.fl-page-content .full-width-cols .fl-row-content,
.fl-page-content .full-width-cols .fl-row-content {
    padding: 0;
}
/*sticky scrolling sections end*/


/*make columns full width on mobile unless overridden by bb editor start*/
@media (max-width: 768px) {
    .fl-col-small:not(.fl-col-small-full-width), 
    .fl-col {
        max-width: none;
    }
}
/*make columns full width on mobile unless overridden by bb editor end*/



/*fonts start*/
p a,
li a,
p a:hover, 
li a:hover {
    color: inherit;
}
p a:hover, 
li a:hover,
.pp-login-form-wrap .pp-field-group a:hover {
    text-decoration: underline;
    text-decoration-style: double;
}
p,
.wp-caption p.wp-caption-text,
.fl-accordion .fl-accordion-button-label,
.fl-accordion-content {
    line-height: 1.5;
    font-size: 18px;
}
p,
.wp-caption p.wp-caption-text {
    margin-bottom: var(--small-spacer);
}
h1 {
    text-transform: uppercase;
    text-align: center;
    line-height: 1.1;
}
@media (min-width: 769px) {
    h1 {
        font-size: 65px;
    }
}
@media (max-width: 768px) {
    h1 {
        font-size: 40px;
    }
}
h1, 
.left-sticky h2 {
    background: transparent linear-gradient(90deg, var(--fl-global-main-medium-color) 0%, var(--fl-global-main-dark-color) 30%, var(--fl-global-accent-dark-color) 90%) 0% 0% no-repeat padding-box;
    background-clip: text;
    -webkit-background-clip: text; 
    color: transparent;
    -webkit-text-fill-color: transparent;
    padding-bottom: 10px;
    line-height: 1.3;
    filter: drop-shadow(0 0 16px #FFfffF);
    -webkit-filter: drop-shadow(0 0 16px #FFfffF);
}
.dark-background h1,
.left-sticky .dark-background h2 {
    filter: none;
    -webkit-filter: none;
}

@media (min-width: 769px) {
    .left-sticky h2 {
        font-size: 50px;
    }
}
@media (max-width: 768px) {
    .left-sticky h2 {
        font-size: 40px;
    }
}
h2, 
.left-sticky h3,
.default_styling.wp2fa-modal h3 
 {
    font-size: 33px;
}
h3, 
.left-sticky h4,
.default_styling.wp2fa-modal h4 {
    font-size: 23px;
    color: var(--fl-global-accent-dark-color);
}
h4,
.left-sticky h5,
.default_styling.wp2fa-modal h5 {
    font-size: 14px;
}
h5, 
h6, 
.default_styling.wp2fa-modal h6 {
    font-size: 12px;
}
.left-sticky .fl-col-content h3:not(:first-child) {
    padding-top: var(--large-spacer);
}
.left-sticky h3 {
    width: fit-content;
    background: no-repeat 0 100%;
    background-image: linear-gradient(var(--fl-global-background-light-color), var(--fl-global-background-light-color));
    background-size: 100% var(--line-size);
    padding-bottom: 0;
}
.left-sticky h3:after {
    background-color: var(--fl-global-background-light-color);
    height: var(--line-size);
    width: 800px;
    margin-left: -800px;
    margin-top: var(--line-size);
}
.purple-underline h3 {
    background-image: linear-gradient(var(--fl-global-accent-dark-color), var(--fl-global-accent-dark-color));
    
}
.purple-underline h3:after {
    background-color: var(--fl-global-accent-dark-color);
}
.left-sticky h3 {
    color: var(--fl-global-main-dark-color);
}

/*h1, 
h2, 
h3, 
h4, 
h5, 
h6, 
p {
    max-width: 800px;
    margin-right: auto;
    margin-left: auto;
}
/*fonts end*/



/*images with links or captions start*/
.wp-caption {
    background: transparent;
    border: none;
}
a > img:hover {
    opacity: .6;
}
/*images with links or captions start*/


/*navigation start*/
header p {
    max-width: none;
}
header .menu-item a {
    margin-left: 15px;
}
.fl-theme-builder-header-sticky .menu-item a,
.fl-theme-builder-header-sticky .menu-item a:hover,
.fl-theme-builder-header-shrink .fl-module-rich-text p a,
.fl-theme-builder-header-shrink .fl-module-rich-text p {
    color: var(--fl-global-main-dark-color) !important;
}
/*changes some logos to white when not sticky*/
.transparent-nav img.fl-photo-img {
    filter: brightness(0) invert(1);
}
.fl-theme-builder-header-sticky .transparent-nav img.fl-photo-img {
    filter: none;
}
.menu-item a:hover,
.fl-theme-builder-header-shrink .fl-module-rich-text p a:hover {
    text-decoration: underline !important;
}
header .menu-item a:visited, 
header .menu-item a:focus, 
header .menu-item a:active, 
header .menu-item a:focus-visible, 
header .menu-item a:target, 
header .menu-item a:focus-within {
    text-decoration: none;
}
header .menu-item:last-child a {
    border: solid 3px var(--fl-global-main-light-color);
    border-radius: 50px;
}
header .menu-item:last-child a:hover {
    background: var(--fl-global-main-light-color);
    border-radius: 50px;
    text-decoration: none;
}
footer .menu-item a:hover {
    text-decoration-style: double !important;
}
.transparent-nav .fl-menu-mobile-clone {
    background: var(--fl-global-main-dark-color);
}
/*navigation end*/



/*background images start*/
.gradient-photo-background .fl-row-content-wrap,
.gradient-photo-background .fl-col-content {
    background-blend-mode: luminosity;
}
.gradient-photo-background .fl-row-content-wrap img {
    opacity: .5;
    filter: grayscale(1);
}
.gradient-photo-background  .fl-module-box .fl-module-box {
    max-width: 1200px;
}
.gradient-photo-background.dark-background h1,
.gradient-photo-background.dark-background h2 {
    background: none;
    color: inehrit;
    -webkit-text-fill-color: inherit;
}
/*background images end*/


/*callouts with numbers start*/
.fl-callout-photo-left .fl-callout-photo, 
.fl-callout-photo-left-text .fl-callout-photo {
    width: var(--large-spacer);
}
.fl-callout-photo-left .fl-callout-content, 
.fl-callout-photo-left-text .fl-callout-text-wrap {
    width: auto;
}
.fl-callout-photo-left {
    display: table;
    table-layout: fixed;
    width: 100%;
}
.fl-callout-photo-left .fl-callout-photo, .fl-callout-photo-left-text .fl-callout-photo {
    display: table-cell;
    padding-right: 30px;
    vertical-align: top;
}
/*callouts with numbers end*/


/*accordions start*/
.fl-accordion {
    margin-top: -20px !important;
    margin-bottom: -20px !important;
}
.fl-accordion-button-label {
    font-weight: 700;
}
.fl-accordion-small .fl-accordion-button,
.fl-accordion-small .fl-accordion-content {
    padding-left: 0;
    padding-right: 0;
}
.fl-accordion-item {
    border: none !important;
}
.fl-accordion-button .fl-accordion-button-icon-left, 
.fl-accordion-button .fl-accordion-button-icon-right {
    opacity: 1;
}
.fl-accordion-button-icon,
.fl-accordion-button-label {
    -webkit-text-fill-color: none;
    color: var(--fl-global-black);
}
.fl-accordion-button-icon::before {
    vertical-align: middle;
}
.fl-accordion-button-icon.fa-plus::before {
    content: "\f0d7";
}
.fl-accordion-button-icon.fa-minus::before {
    content: "\f0d8";
}
/*accordions end*/





/******* FORMS START ********/
/*all forms start*/
.nf-error-msg,
.fl-form-error-message {
    color: var(--fl-global-accent-bright-red) !important;
}
.nf-response-msg,
.fl-form-error-message {
    font-weight: 700;
}
/*all forms end*/

/*ninjaform start*/
.nf-form-fields-required {
    display: none !important;
}
.ninja-forms-req-symbol {
    color: var(--fl-global-black) !important;
}
.nf-form-errors .nf-error-msg,
.submit-wrap .nf-field-element,
.nf-response-msg {
    text-align: center;
}
.ninja-forms-form-wrap * {
}
.nf-form-wrap .field-wrap label {
    display: flex !important;
}
.html-container {
    padding-bottom: var(--small-spacer);
}
@media (min-width: 768px) {
    nf-field {
        width: 50%;
        float: left;
    }
    nf-field:nth-child(even) .field-wrap {
        padding-right: var(--small-spacer);
    }
    nf-field:has(.textarea-container),
    nf-field:has(.submit-container),
    nf-field:has(.html-container) {
        width: 100%;
    }
    nf-field:has(.textarea-container) .field-wrap,
    nf-field:has(.submit-container) .field-wrap,
    nf-field:has(.html-container) .field-wrap {
        padding-right: 0;
    }
    .nf-field-container:not(.textarea-container):not(.submit-container):not(.html-container) {
        height: 120px;
    }
}
input[type=text], input[type=password], input[type=email], input[type=tel], input[type=date], input[type=month], input[type=week], input[type=time], input[type=number], input[type=search], input[type=url], textarea,
.nf-element {
    padding: 12px;
    border-radius: 0;
    border: none;
}
.submit-wrap .nf-field-element input {
    padding: 12px 24px;
    background-color: var(--fl-global-accent-dark-color);
    color: var(--fl-global-near-white);
}
.submit-wrap .nf-field-element input:hover{
    background-color: var(--fl-global-main-dark-color);
}
nf-field:has(.recaptcha-container) {
    width: 100%;
}
.recaptcha-wrap .nf-field-element .g-recaptcha div
 {
    margin: auto;
}
/*ninjaform end*/



/*login form start*/
form.fl-login-form, 
.fl-module.fl-module-pp-login-form .pp-login-form-wrap{
    max-width: 800px;
    margin: auto;
}
/*login form end*/
/******* FORMS END ********/




/*focus changes start*/
.fl-accordion-button .fl-accordion-button-icon:focus, 
.fl-accordion-button .fl-accordion-button-icon:active,
a:focus
{
    outline: none;
    border: none;
    color: inherit;
}
.fl-accordion-button .fl-accordion-button-icon:focus-visible,
a:focus-visible
{
    outline: 1px auto -webkit-focus-ring-color;
    color: inherit;
}
/*focus changes end*/



/*extra styles to match 2FA settings screen to main site styles start*/
/*fonts*/
.default_styling.wp2fa-modal h1, 
.default_styling.wp2fa-modal h2, 
.default_styling.wp2fa-modal h3, 
.default_styling.wp2fa-modal h4, 
.default_styling.wp2fa-modal h5, 
.default_styling.wp2fa-modal h6 {
    font-family: "Poppins", sans-serif;
}
.wp2fa-modal p,
.wp2fa-modal, 
.wp2fa-modal .modal__content,
.wp2fa-modal .modal__content p,
.wp2fa-modal.default_styling .radio-cells .option-pill label,
.wp2fa-modal .modal__content label,
.default_styling .verification-response:not(:empty) {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 18px;
}
button.modal__close.modal_cancel {
    color: black !important;
    font-size: 25px;
    margin-top: -20px;
    margin-right: -20px;
}
.wp2fa-modal small {
    font-size: 100%;
}
.step-setting-wrapper .mb-20 p {
    font-size: 150%;
    font-weight: 700;
    line-height: 1.2;
}
/*buttons*/
.wp-2fa-configuration-form .wp-2fa-button-primary.button,
.wp-2fa-configuration-form .wp-2fa-button-secondary.button {
    display: inline-block;
}
.wp-2fa-configuration-form .wp-2fa-button-primary.button,
a.close-first-time-wizard, 
a.button.button-primary.remove-2fa.default_styling {
    padding: 12px 24px;
    text-decoration: none;
    margin-right: 12px;
}
button.wp-2fa-button-secondary.button-secondary,
.wp2fa-modal a.button.modal_cancel,
button.wp-2fa-button-secondary.button {
    background: white;
    border: solid 4px var(--fl-global-main-light-color);
    padding: 8px 20px;
    margin-left: 0px;
    text-decoration: none;
}
button.wp-2fa-button-secondary.button-secondary:hover,
.wp2fa-modal a.button.modal_cancel:hover,
button.wp-2fa-button-secondary.button:hover {
    border: solid 4px var(--fl-global-accent-dark-color);
    background: var(--fl-global-accent-dark-color);
    color: white;
}
/*spacing*/
.wp2fa-modal .mb-20,
.wizard-step.active .radio-cells .option-pill:first-child {
    margin-bottom: 30px;
}
.modal__overlay {
    background: rgba(0,0,0,.7);
}
table#\32 fa-user-global-configuration {
    margin-top: 13px;
}
table#\32 fa-currently-configured-methods {
    margin-bottom: 30px;
}
/*hides some text because it's long or weirdly worded*/
.wp2fa-modal .modal__content p.description,
.step-setting-wrapper h3,
.wp-2fa-configuration-form h2,
.wp-2fa-configuration-form p.description,
table#\32 fa-currently-configured-methods tr:last-child {
    display: none;
}
div#\32 fa-wizard-config-backup-codes .step-setting-wrapper h3 {
    display: block;
}
/*fields*/
.wp2fa-modal input {
    border: solid 2px lightgray;
}
.default_styling .verification-response:not(:empty) {
    border-color: var(--fl-global-accent-bright-red);
    border-radius: 0;
    width: 100%;
}
/*extra styles to match 2FA settings screen to main site styles end*/



