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

@font-face {
    font-family: 'Made Carving Thin';
    src: url('fonts/made-carving/made-carving-thin.woff2') format('woff2'),
         url('fonts/made-carving/made-carving-thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Made Carving Extra-Light';
    src: url('fonts/made-carving/made-carving-extralight.woff2') format('woff2'),
         url('fonts/made-carving/made-carving-extralight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Made Carving Light';
    src: url('fonts/made-carving/made-carving-light.woff2') format('woff2'),
         url('fonts/made-carving/made-carving-light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Made Carving Regular';
    src: url('fonts/made-carving/made-carving-regular.woff2') format('woff2'),
         url('fonts/made-carving/made-carving-regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Made Carving Medium';
    src: url('fonts/made-carving/made-carving-medium.woff2') format('woff2'),
         url('fonts/made-carving/made-carving-medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Made Carving Semi-Bold';
    src: url('fonts/made-carving/made-carving-semibold.woff2') format('woff2'),
         url('fonts/made-carving/made-carving-semibold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Made Carving Bold';
    src: url('fonts/made-carving/made-carving-bold.woff2') format('woff2'),
         url('fonts/made-carving/made-carving-bold.woff') format('woff');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Made Carving Black';
    src: url('fonts/made-carving/made-carving-black.woff2') format('woff2'),
         url('fonts/made-carving/made-carving-black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
}



/******************************************************************************/
/******************************************************************************/
/* ENTIRE SITE CUSTOM STYLES **************************************************/
/******************************************************************************/
/******************************************************************************/

/* changes font-color to orange */
.orange {
    color: #f15a24;
}

/* changes font-color to white */
.white {
    color: #ffffff;
}

/* forces orange text to take effect on certain headings */
.my-heading.my-heading.my-heading h1.fl-heading .fl-heading-text .orange {
    color: #f15a24;
}

/* learn more arrow bounces infinitely */
.more-arrow.more-arrow.more-arrow,
.projects-button.projects-button.projects-button {
    animation-iteration-count: infinite;
}

/* stacks arrow and text */
.more-arrow .fl-icon-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: fit-content;
}

/* adds space under arrow icon */
.more-arrow .fl-icon-wrap .fl-icon {
    padding-bottom: 5px;
}

/* helps with centering and removes excess space below more arrow text */
.more-arrow .fl-icon-wrap .fl-icon-text {
    padding-left: 0px;
    height: unset;
}

/* styles for back to top arrow */
#fl-to-top {
    border-radius: 100px;
    height: 42px;
    width: 42px;
    background-color: rgba(255, 255, 255, .4);
}

/* styles for back to top arrow */
#fl-to-top i {
    color: #1e1a43;
}

/* styles for back to top arrow */
.fa-chevron-up:before {
    font-family: 'Ultimate-Icons';
    content: "\e98f";
    font-size: 46px;
    font-weight: normal;
    line-height: 46px;
    opacity: .3;
    position: absolute;
    right: -31px;
    bottom: -31px;
}



/******************************************************************************/
/******************************************************************************/
/* ABOUT SECTION STYLES *******************************************************/
/******************************************************************************/
/******************************************************************************/

/* helps center list check mark icons with text */
.my-icon-list.my-icon-list.my-icon-list.my-icon-list .pp-icon-list .pp-list-item-icon {
    padding-top: 7px;
}

/* styles for the orange call to action module in about section */
.about-cta .fl-module-content {
    width: fit-content;
    border-radius: 10px;
    padding-top: 35px;
}

/* adds transition to icon list */
.my-icon-list.my-icon-list.my-icon-list.my-icon-list .pp-icon-list .pp-list-item-text {
    transition: all .4s ease;
}

/* hover effect for icon list */
.my-icon-list.my-icon-list.my-icon-list.my-icon-list .pp-icon-list-item:hover {
    letter-spacing: 1px;
    color: #f15a24;
}



/******************************************************************************/
/******************************************************************************/
/* SERVICES SECTION STYLES ****************************************************/
/******************************************************************************/
/******************************************************************************/

/* removes padding on first accordion title */
.services-accordions.services-accordions.services-accordions .uabb-adv-accordion-item:first-of-type .uabb-adv-accordion-button {
    padding-top: 0px;
}

/* removes bottom border on last accordion */
.services-accordions.services-accordions.services-accordions .uabb-adv-accordion-item:last-of-type .uabb-adv-accordion-button {
    border-bottom-width: 0px;
}

/* removes title border for active service accordion */
.services-accordions.services-accordions.services-accordions .uabb-adv-accordion-item-active .uabb-adv-accordion-button {
    border-bottom-width: 0px;
}

/* adds transition for accordion title */
.services-accordions.services-accordions.services-accordions .uabb-adv-accordion-button .uabb-adv-accordion-button-label {
    transition: all .4s ease;
}

/* transition hover effect for accordion title */
.services-accordions.services-accordions.services-accordions .uabb-adv-accordion-button:hover .uabb-adv-accordion-button-label {
    letter-spacing: 1px;
}

/* fixes weird accordion issue with last paragraph bottom margin */
.services-accordions.services-accordions.services-accordions .uabb-adv-accordion-content p:last-of-type {
    margin-bottom: 1rem;
}


/*********************************/
/* SERVICES - OPTION PAGE STYLES */
/*********************************/

/* reverses the order so the icon is below the content on the services flip box */
.services-flip-box.services-flip-box.services-flip-box .uabb-front .uabb-flip-box-section {
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-start;
}

/* pre-text styles on the services flip box */
.services-flip-box.services-flip-box.services-flip-box .flip-pre-text {
    font-family: "Made Carving Bold", Verdana, Arial, sans-serif;
    font-weight: 700;
    font-size: 17px;
    color: #aaaaaa;
}

/* h2 styles on the services flip box  */
.services-flip-box.services-flip-box.services-flip-box h2 {
    color: #1b1464;
    font-family: "Made Carving Black", Verdana, Arial, sans-serif;
    font-weight: 900;
    padding-bottom: 10px;
    margin-top: -5px;
}

/* forces the orange style to take effect */
.services-flip-box.services-flip-box.services-flip-box h2 .orange {
    color: #f15a24;
}

/* changes dots on the back of the services card to blue */
.services-flip-box.services-flip-box.services-flip-box .uabb-back-flip-box-section-content .blue {
    color: #1b1464;
}



/******************************************************************************/
/******************************************************************************/
/* PROJECTS SECTION STYLES ****************************************************/
/******************************************************************************/
/******************************************************************************/

/* changes zoomed image to greyscale initially and adds transition */
.project-container .project-popup .pp-modal-button img {
    filter: grayscale(.9);
    transition: transform .3s;
}

/* necessary so scaled image below appears on top */
.project-popup.fl-module-pp-modal-box {
    z-index: unset !important;
}

/* hover effect for zoomed image */
.project-container .project-popup .pp-modal-button img:hover {
    filter: none;
    transform: scale(1.3);
    position: relative;
    z-index: 999;
}

/* font style for project type list on popup container */
.project-type {
    font-size: 50%;
    font-family: "Made Carving Light", Verdana, Arial, sans-serif;
    font-weight: 300;
    color: #1f1f1f;
}

/* font styles for case study link on popup container */
.case-study a {
    text-decoration: underline;
    font-style: italic;
    font-size: 50%;
    font-family: "Made Carving Extra-Light", Verdana, Arial, sans-serif;
    font-weight: 200;
    color: #1b1464;
}

/* case study link hover styles on popup container */
.case-study a:hover {
    text-decoration: none;
    color: #1f1f1f;
}

/* allows the carousel to go full width */
.pp-modal .pp-modal-content .fl-builder-content {
    max-width: unset;
    margin: 0px 25px;
}

/* height of image carousel inside the popup */
.pp-modal .pp-image-carousel {
    height: 600px;
}

/* removes gradiant background on images */
.swiper-3d.swiper-3d.swiper-3d .swiper-slide-shadow-left,
.swiper-3d.swiper-3d.swiper-3d .swiper-slide-shadow-right {
    background-image: none;
}

/* changes images to greyscale */
.swiper-slide-visible:not(.swiper-slide-next) {
    filter: grayscale(.9);
    scale: .75 !important;
}

/* scales the active image to 1.8 times */
.swiper-slide-visible.swiper-slide-next {
    filter: none;
    transform: translate3d(0px, 0px, 0px) rotateX(0deg) rotateY(0deg) scale(1.8) !important;
}

/* removes margin images */
figure.swiper-slide-inner {
    margin: 0px 15px;
}

/* puts prev and next buttons in the center */
.pp-modal-content .pp-image-carousel-wrapper.pp-nav-outside button.pp-swiper-button {
    top: 50%;
}


/******************************************************************************/
/******************************************************************************/
/* CONTACT SECTION STYLES *****************************************************/
/******************************************************************************/
/******************************************************************************/

/* aligns address with top of icon */
.address-icon.address-icon.address-icon .fl-icon-text {
    padding-top: 27px;
}

/* removes background and adds border on icons in contact section */
.contact-icons.contact-icons.contact-icons .fl-icon i {
    background: none;
    border: solid 1px #f15a24;
}

/* hover color for contact icon text */
.contact-icons.contact-icons.contact-icons .fl-icon-text p:hover {
    color: #f15a24;
}

/* adds transition for icon title */
.contact-icons.contact-icons.contact-icons .fl-icon-wrap .fl-icon-text * {
    transition: all .4s ease;
}

/* transition hover effect for icon title */
.contact-icons.contact-icons.contact-icons .fl-icon-wrap:hover .fl-icon-text * {
    letter-spacing: 1px;
    color: #f15a24;
}

/* color of required asterisks */
.my-form.my-form.my-form .gfield_required {
    color: #f15a24;
    font-family: "Made Carving Black", Verdana, Arial, sans-serif;
}

/* font size for indicates required fields text */
.my-form.my-form.my-form .gform_required_legend {
    font-size: 15px;
}

/* required asterisks within the form */
.my-form.my-form.my-form .gfield_required {
    font-size: 110%;
    padding-left: 0px;
    margin: 0px;
}

/* all required asterisks */
.my-form.my-form.my-form .gfield_required_asterisk {
    margin-right: 4px;
    margin-left: 4px;
}

/* top required asterisk indicating required fields */
.my-form.my-form.my-form .gform_required_legend .gfield_required {
    font-size: 120%;
}

/* adds bottom border under label and input fields */
.my-form.my-form.my-form.o2 .gfield {
    border-bottom: solid 1px #1b1465;
    align-items: baseline;
    margin-bottom: 10px;
}

/* width of labels */
.my-form.my-form.my-form.o2 .gfield_label {
    width: fit-content;
}

/* lets the input fields grow to fit remaining width */
.my-form.my-form.my-form.o2 .ginput_container {
    flex-grow: 1;
}

/* sets initial height of message textarea */
.my-form.my-form.my-form.o2 .gfield textarea.small {
    height: 61px;
}

/* adds additional padding above human verification to compensate for not have an asterisk */
.my-form.my-form.my-form.o2 .gfield--input-type-captcha {
    padding-top: 4px;
}

/* tells captcha section to stack and allows for reordering below */
.my-form.my-form.my-form.o2 .gfield--input-type-captcha {
    display: flex;
    flex-direction: column;
}

/* tells human verification field to be first and span full width */
.my-form.my-form.my-form.o2 .gfield--input-type-captcha .gfield_label {
    order: 1;
    width: 100%;
    padding-top: 5px;
}

/* tells the captcha math problem to be third applies a width and pulls it up to align with the human verification wording */
.my-form.my-form.my-form.my-form.o2 .gfield--input-type-captcha .gfield_captcha_container {
    order: 3;
    align-self: flex-end;
    margin-top: -67px;
    width: 76%;
} 

/* tells the verification description to be second under the label and applies a width */
.my-form.my-form.my-form.my-form.my-form.o2 .gfield--input-type-captcha .gfield_description {
    order: 2;
    width: 20%;
    padding: 0px;
    margin: 0px;
    line-height: 1.2;
}

/* adds padding above captcha input box */
.my-form.my-form.my-form #field_8_5 .gfield_captcha_input_container input[type=text] {
    padding-top: 5px;
}

/* width of captcha box */
.my-form.my-form.my-form .gfield_captcha_input_container {
    width: 116px;
}

/* padding around captcha description */
.my-form.my-form.my-form .gfield_description {
    padding-top: 0px;
    padding-bottom: 10px;
}

/* size of background watermark in the contact section */
.contact-watermark-col.contact-watermark-col.contact-watermark-col .fl-col-content {
    background-size: 400px;
}

/* size of background watermark in the contact section */
.contact-watermark.contact-watermark.contact-watermark .fl-row-content-wrap {
    background-size: 40%;
}


/******************************************************************************/
/******************************************************************************/
/* FOOTER STYLES **************************************************************/
/******************************************************************************/
/******************************************************************************/

/* removes margin below foot text */
.footer-text p {
    display: inline-flex;
    align-items: center;
    margin-bottom: -7px;
}

/* spacing adjustments to copyright symbol so it aligns properly */
.footer-text p .copyright {
    height: 15px;
    margin-right: 3px;
}



/******************************************************************************/
/******************************************************************************/
/* MEDIA QUERIES **************************************************************/
/******************************************************************************/
/******************************************************************************/

@media screen and (max-width: 1024px) {
    
    /* helps center list check mark icons with text */
    .my-icon-list.my-icon-list.my-icon-list.my-icon-list .pp-icon-list .pp-list-item-icon {
        padding-top: 3px;
        margin-right: 12px;
        font-size: 18px;
        line-height: 18px;
    }
    
    /* helps center list check mark icons with text */
    .my-icon-list.my-icon-list.my-icon-list.my-icon-list .pp-icon-list .pp-list-item {
        margin-bottom: 15px;
    }
    
    /* padding for entire cta module */
    .about-cta.about-cta.about-cta .fl-module-content {
        padding: 20px;
        padding-top: 15px;
    }
    
    /* padding for button inside cta */
    .about-cta.about-cta.about-cta .fl-module-content .uabb-cta-button {
        padding-top: 15px;
    }
    
    /* size of service accordion icon */
    .services-accordions.services-accordions.services-accordions .uabb-adv-accordion-button-icon {
        font-size: 18px;
        line-height: 18px;
        height: 18px;
        width: 18px;
    }
    
    /* space between service accordion icon and title */
    .services-accordions.services-accordions.services-accordions .uabb-adv-accordion-button-label {
        padding-left: 12px;
    }
    
    /* bulleted list indentation in service accordions */
    .services-accordions.services-accordions.services-accordions ul {
        padding-inline-start: 35px;
    }
    
    /* pre-text styles on the services flip box */
    .services-flip-box.services-flip-box.services-flip-box .flip-pre-text {
        font-size: 14px;
    }
    
    /* icon size on the services flip box */
    .services-flip-box.services-flip-box.services-flip-box .uabb-front .uabb-flip-box-section .uabb-icon i:before {
        font-size: 26px;
        line-height: 26px;
    }
    
    /*  */
    .services-flip-box.services-flip-box.services-flip-box .uabb-front .uabb-flip-box-section .uabb-text-editor {
        margin-bottom: 10px;
    }
    
    /* margin on entire carousel */
    .pp-modal .pp-modal-content .fl-builder-content {
        margin: 10px 0px 20px;
    }
    
    /* padding around title section in popup */
    .pp-modal .pp-modal-title {
        padding: 10px 20px !important; /* important to override the default specifity */
    }
    
    /* font style for case study and project type list on popup container */
    .project-type,
    .case-study a {
        font-size: 65%;
    }

    /* height of image carousel inside the popup */
    .pp-modal .pp-image-carousel {
        height: 300px;
    }
    
    /* scales non-active images */
    .swiper-slide-visible:not(.swiper-slide-next) {
        scale: .7 !important;
    }
    
    /* changes size of prev and next buttons in the popup */
    .pp-modal .pp-modal-content-inner .pp-image-carousel-wrapper .pp-swiper-button.swiper-button-prev,
    .pp-modal .pp-modal-content-inner .pp-image-carousel-wrapper .pp-swiper-button.swiper-button-next {
        height: 20px;
        width: 20px;
        padding-left: 3px;
        padding-right: 2px;
    }
    
    /* changes size of prev and next buttons in the popup */
    .pp-modal .pp-modal-content-inner .pp-image-carousel-wrapper .pp-swiper-button.swiper-button-prev svg,
    .pp-modal .pp-modal-content-inner .pp-image-carousel-wrapper .pp-swiper-button.swiper-button-next svg {
        height: 15px;
    }
    
    /* aligns address with top of icon */
    .address-icon.address-icon.address-icon .fl-icon-text {
        padding-top: 20px;
    }
    
    /* font size for indicates required fields text */
    .my-form.my-form.my-form .gform_required_legend {
        font-size: 14px;
    }
    
    /* captcha math problem images width */
    .my-form.my-form.my-form.my-form.o2 .gfield--input-type-captcha .gfield_captcha_container img {
        width: 25px;
    } 
    
    /* captcha math problem width and pulls it up to align with the human verification wording */
    .my-form.my-form.my-form.my-form.o2 .gfield--input-type-captcha .gfield_captcha_container {
        width: 70%;
    } 
    
    /* verification description width */
    .my-form.my-form.my-form.my-form.my-form.o2 .gfield--input-type-captcha .gfield_description {
        width: 25%;
        padding-top: 5px;
        padding-bottom: 7px;
    }
    
    /* margin above submit button */
    .my-form.my-form.my-form .gform_footer input[type=submit] {
        margin-top: 10px;
    }
    
    /* styles for back to top arrow */
    #fl-to-top {
        height: 29px;
        width: 29px;
    }
    
    /* styles for back to top arrow */
    .fa-chevron-up:before {
        font-size: 32px;
        line-height: 32px;
        right: -17px;
        bottom: -18px;
    }
    
}


@media screen and (max-width: 850px) {
    
    /* captcha math problem width and pulls it up to align with the human verification wording */
    .my-form.my-form.my-form.my-form.o2 .gfield--input-type-captcha .gfield_captcha_container {
        width: 65%;
    } 
    
    /* verification description width */
    .my-form.my-form.my-form.my-form.my-form.o2 .gfield--input-type-captcha .gfield_description {
        width: 30%;
    }
    
}

@media screen and (max-width: 748px) {
    
    /* removes the hard return in the statement in the hero section */
    .hard-return {
        display: none;
    }
    
    /* bulleted list indentation in service accordions */
    .services-accordions.services-accordions.services-accordions ul {
        padding-inline-start: 30px;
    }
    
    /* padding around title section in popup */
    .pp-modal .pp-modal-title {
        padding: 10px 15px !important; /* important to override the default specifity */
    }
    
    /* font style for case study and project type list on popup container */
    .project-type,
    .case-study a {
        font-size: 75%;
    }
    
    /* height of image carousel inside the popup */
    .pp-modal .pp-image-carousel {
        height: 200px;
    }
    
    /* changes images to greyscale */
    .swiper-slide-visible.swiper-slide-visible.swiper-slide-visible.swiper-slide-visible {
        filter: none;
        scale: 1 !important;
    }
    
    /* removes margin images */
    figure.swiper-slide-inner {
        margin: 0px;
    }
    
    /* allows from labels and input fields to align properly */
    .my-form.my-form.my-form.my-form.my-form.o2 .ginput_container {
        flex-basis: 50%;
    }
    
    /* captcha math problem width and pulls it up to align with the human verification wording */
    .my-form.my-form.my-form.my-form.my-form.o2 .gfield--input-type-captcha .gfield_captcha_container {
        width: 73%;
    } 
    
    /* verification description width */
    .my-form.my-form.my-form.my-form.my-form.o2 .gfield--input-type-captcha .gfield_description {
        width: 25%;
    }
    
    /* forces all items back to original line-height */
    .my-form.my-form.my-form.my-form.my-form.o2 .gform_wrapper.gravity-theme input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
        line-height: 1.2;
        min-height: unset;
    }
    
    /* spacing adjustments to copyright symbol so it aligns properly */
    .footer-text p .copyright {
        height: 13px;
    }
    
}

@media screen and (max-width: 400px) {
    
    /* max-width of carousel images on smaller screens */
    figure.swiper-slide-inner img {
        max-width: 90%;
    }
    
        /* captcha math problem width and pulls it up to align with the human verification wording */
    .my-form.my-form.my-form.my-form.my-form.o2 .gfield--input-type-captcha .gfield_captcha_container {
        width: 55%;
    } 
    
    /* verification description width */
    .my-form.my-form.my-form.my-form.my-form.o2 .gfield--input-type-captcha .gfield_description {
        width: 35%;
    }
    
}

