/*
Theme Name: Flatsome Child
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.0
*/

/*************** SECTION 1 - START HERE   ***************/

h1, .h1, .banner h1, h1.uppercase {
	font-size: 4.3em;
	line-height: 1.1em;
	margin-bottom: .1em;
}
h1 strong{
    font-weight: 900 !important;
}
h2, .h2, .banner h2, h2.uppercase{
	font-size: 2.9em;
    line-height: 1.1em;
    margin-bottom: .15em;
}
h3, .h3, .banner h3, h3.uppercase {
	font-size: 1.7em;
    line-height: 1.2em;
    margin-bottom: .2em;
}
h4, .h4, .banner h4, h4.uppercase {
	font-size: 1.15em;
    line-height: 1.2em;
    margin-bottom: .2em;
}
.uppercase{
    letter-spacing: 0 !important;
}
b, strong {
    font-weight: 800;
}
.no-margin p, .no-margin ol, .no-margin ul{
    margin-bottom: 0;
}

/*MAIN HEADER + NAV + MENUS*/

.transparent #logo img {
    max-height: 105px !important;
    margin-top: -40px;
}
.transparent #masthead {
    margin-top: 40px;
    background-color: rgba(255, 255, 255, .9) !important;
}
.header.transparent .header-bottom {
    background-color: var(--primary-color);
}
.nav-size-medium>li>a{
    font-size: 1.1em;
}
.nav-spacing-large>li {
    margin: 0 15px;
}
.header-main .nav > li > a, .nav>li.active>a, .nav-column>li>a, .nav-dropdown>li>a, .nav-vertical-fly-out>li>a{
    color: var(--primary-color);
}
.header-main .nav > li > a:hover, .nav>li.active>a:hover, .nav-column>li>a:hover, .nav-dropdown>li>a:hover, .nav-vertical-fly-out>li>a:hover{
    color: var(--secondary-color);
}
.html .header-button a{
    font-size: 1.3em;
}
.html .header-button i{
    margin-right: 3px;
}
.header-bottom .html.custom{
    font-family: 'Lexend', sans-serif;
    font-weight: 700;
    font-size: 1.1em;
}
#top-bar .html.custom{
    font-family: 'Lexend', sans-serif;
    font-weight: 700;
    font-size: 1em;
}
#top-bar i {
    color: var(--secondary-color);
}
#top-bar a{
    color: #fff;
}
.off-canvas-left.dark .mfp-content, .off-canvas-right.dark .mfp-content{
    background-color: var(--primary-color);
}
.off-canvas .sidebar-menu a:not(.button):not(.social-icons a){
    color: #fff;
    font-size: 1em;
}
.off-canvas .social-icons a{
    color: #fff;
}
.off-canvas .sidebar-menu a:not(.button):not(.social-icons a):hover{
    color: var(--secondary-color);
}
.off-canvas .header-button a{
    display: block;
    font-size: 1.3em;
}
.nav-sidebar.nav-vertical>li.header-button-1+li{
    border-top: none;
    padding-top: 3px;
    text-align: center;
}
.off-canvas .social-icons a{
    font-size: 1.4em;
}
.nav-sidebar.nav-vertical>li.html.custom+li{
    border-top: none;
    padding-top: 0;
}
.off-canvas .html.custom{
    font-weight: 800;
    color: #fff !important;
    font-size: 1.15em;
    line-height: 1.1em;
}
.off-canvas li.html.custom{
    padding-bottom: 8px;
    display: inline;
    text-align: center !important;
}

/*BUTTON STYLING*/

.button {
	font-weight: 700;
	letter-spacing: 0;
}
.button.white i, .button.primary i, .button.success i, .button.alert i{
    color: var(--secondary-color);
}
.button.white:not(.button.white.is-outline):not(.button.white.is-underline):not(.button.white.is-link) span, .button.white:not(.button.white.is-underline):not(.button.white.is-link):hover span{
    color: var(--primary-color);
}

/*OTHER STYLING*/

.hero-gradient:before{
    content: '';
    display: block;
    z-index: 1;
    position: absolute;
    height: 100%;
    overflow: hidden;
    width: 100%;
    mix-blend-mode: multiply;
    background: linear-gradient(to right, rgba(29,62,155,1) 0%,rgba(29,62,155,0.91) 26%,rgba(89,161,220,0.7) 83%,rgba(107,191,240,0.7) 100%);
    /*Permalink: https://colorzilla.com/gradient-editor/#1d3e9b+26,6bbff0+100&1+0,0.7+83*/ 
}
.bottom-fade:before{
    content: '';
    display: block;
    z-index: 1;
    position: absolute;
    height: 100%;
    overflow: hidden;
    width: 100%;
    background: linear-gradient(to bottom, rgba(239,239,239,0) 0%,rgba(255,255,255,1) 100%);
    /*Permalink: https://colorzilla.com/gradient-editor/#efefef+0,ffffff+100&0+0,1+100*/ 
}
.white-fade:before{
    content: '';
    display: block;
    z-index: 1;
    position: absolute;
    height: 100%;
    overflow: hidden;
    width: 100%;
    background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 2%,rgba(255,255,255,0) 25%,rgba(255,255,255,0) 71%,rgba(255,255,255,1) 98%,rgba(255,255,255,1) 100%);
    /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,ffffff+100&1+2,0+25,0+71,1+98 */
}
.footer-msg .bg-fill{
    background-position: 0% 50% !important;
}
#footer{
    z-index: 10;
}
.cta .bg-fill{
    background-position: 50% 55%;
}
.corners-large>.col-inner, .corners-large .message-box, .corners-large .message-box-bg-image, .corners-large .message-box-bg-overlay {
    border-radius: 300px;
    -webkit-border-radius: 300px;
    -moz-border-radius: 300px;
}
.corners-small>.col-inner, .corners-small .banner, .corners-small .banner-bg, .corners-small .box-image, .corners-small .image-zoom, .corners-small .message-box, .corners-small .message-box-bg-image, .corners-small .message-box-bg-overlay, .corners-small iframe {
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
}
.hover-blue .banner .banner-bg.fill .overlay{
    transition: .35s;
}
.hover-blue .banner:hover .banner-bg.fill .overlay{
    background-color: rgba(29, 62, 155, .85) !important;
}
.image-corners img, img.image-corners{
    border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
}
.section-boxed{
    width: inherit;
    margin-left: 2%;
    margin-right: 2%;
    z-index: 9;
    border-radius: 35px;
    -webkit-border-radius: 35px;
    -moz-border-radius: 35px;
}
.section-boxed .section-bg{
    border-radius: 35px;
    -webkit-border-radius: 35px;
    -moz-border-radius: 35px;
}
.social-icons a {
    color: var(--primary-color);
}
.social-icons a:hover {
    color: var(--secondary-color);
}
ul li.bullet-arrow, ul li.bullet-checkmark, ul li.bullet-star, ul li.bullet-cross{
    border: none;
    padding: 5px 0 5px 23px;
}
ul li.bullet-arrow:before, ul li.bullet-checkmark:before, ul li.bullet-star:before{
    color: var(--alert-color);
}
ul li.bullet-cross:before {
    content: "" !important;
    background-image: url(/wp-content/uploads/2025/07/gradient-checkmark.png);
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    width: 16px;
    height: 16px;
    top: 7px;
}
.lines-left>.col-inner:before{
    content: '';
    background-image: url(/wp-content/uploads/2025/07/lines-left.png);
    background-repeat: no-repeat;
    background-position: top left;
    position: absolute;
    width: 70px;
    height: 20px;
    left: -80px;
    top: 15px;
    background-size: 70px 20px;
}
.lines-left{
	display: flex;
    align-items: flex-start;
}
legend{
    border: none;
}
.gfield-choice-input{
    margin-bottom: 0 !important;
}
.gform_wrapper.gravity-theme .gfield_checkbox label, .gform_wrapper.gravity-theme .gfield_radio label{
    font-weight: 500;
}
.gform_required_legend{
    display: none;
}
.row-slider .flickity-page-dots {
    bottom: -10px;
}
.row-slider .flickity-page-dots .dot{
    background-color: #fff;
}
.flickity-page-dots {
        pointer-events: inherit;
    }

/*REAL TESTIMONIALS PRO STYLING*/

.sp-testimonial-pro-section .tpro-testimonial-title{
    padding-bottom: 10px;
}
.sp-tpro-testimonial-title:after{
    position: relative;
    height: 3px;
    max-width: 150px;
    content: '';
    background-color: #f17722;
    display: block;
    top: 15px;
}
.sp-tpro-modal-testimonial .sp-tpro-testimonial-title:after{
    margin: 0 auto;
}
.sp-testimonial-pro-wrapper .sp-testimonial-pro-section.sp-tpCarousel {
    padding-bottom: 10px !important;
}
.sp-tpro-modal-testimonial .tpro-client-rating{
    text-align: center !important;
}

/*************** SECTION 2 - MOBILE QA FIXES ONLY  ***************/
@media only screen and (max-width: 549px) {
    h1, .h1, .banner h1, h1.uppercase {
	   font-size: 2.3em;
    }
    h2, .h2, .banner h2, h2.uppercase{
	   font-size: 1.8em;
    }
    h3, .h3, .banner h3, h3.uppercase {
	   font-size: 1.4em;
    }
    h4, .h4, .banner h4, h4.uppercase {
		font-size: 1.1em;}
    .transparent .header-main {
        height: 85px !important;
    }
    .transparent #logo img {
        max-height: 80px !important;
        margin-top: 0;
    }
    .transparent #masthead {
        margin-top: 0;
    }
    .corners-large>.col-inner, .corners-large .message-box, .corners-large .message-box-bg-image, .corners-large .message-box-bg-overlay {
        border-radius: 50px;
        -webkit-border-radius: 50px;
        -moz-border-radius: 50px;
    }
    .cta .message-box-bg-image.bg-fill{
        background-position: 100% 5%;
    }
    .footer-msg .bg-fill {
        background-position: 100% 50% !important;
    }
}

/*************** SECTION 3 - MEDIUM GRID AND UP  ***************/
@media only screen and (min-width: 550px) and (max-width: 850px) {
    h1, .h1, .banner h1, h1.uppercase {
	   font-size: 3.0em;
    }
    h2, .h2, .banner h2, h2.uppercase{
	   font-size: 2.4em;
    }
    h3, .h3, .banner h3, h3.uppercase {
	   font-size: 1.5em;
    }
    h4, .h4, .banner h4, h4.uppercase {
		font-size: 1.15em;}
    .transparent .header-main, .header-main {
        height: 85px !important;
    }
    .transparent #logo img, #logo img {
        max-height: 80px !important;
        margin-top: 0;
    }
    .transparent #masthead {
        margin-top: 0;
    }
    .corners-large>.col-inner, .corners-large .message-box, .corners-large .message-box-bg-image, .corners-large .message-box-bg-overlay {
        border-radius: 80px;
        -webkit-border-radius: 80px;
        -moz-border-radius: 80px;
    }
     .cta .message-box-bg-image{
        background-image: url(/wp-content/uploads/2025/07/ctabox-bkg-tablet02.jpg) !important;
    }
    .cta .message-box-bg-image.bg-fill{
        background-position: 20% 50%;
    }
    .footer-msg .bg-fill {
        background-position: 7% 50% !important;
    }
}

/*************** SECTION 4 - Midsize  ***************/
@media only screen and (min-width: 851px) and (max-width: 1000px) {
    .nav-size-medium>li>a{
        font-size: 1em;
    }
    .nav-spacing-large>li {
        margin: 0 10px;
    }
    #logo {
        width: 265px !important;
    }
}

/*************** SECTION 5 - DESKTOP AND UP  ***************/
@media only screen and (min-width: 1000px) {
    
}