/*
Theme Name: NG Child Theme
Theme URI: https://www.peachblossomsstl.com/
Description: This is a custom child theme for Divi
Author: Never Gravity
Author URI: https://nevergravity.com/
Template: Divi
Version: 1.0.0
*/

/*--MAIN CSS--*/
h1, h2, h3, h4{
    margin-bottom:10px;
}
h1.wide-scale{
    font-size: clamp(1.8125rem, 0.8914rem + 3.6842vw, 5.3125rem);
    text-transform: uppercase;
}
h1, h1.entry-title, h2.lg-size{
    font-size: clamp(2.75rem, 2.0757rem + 2.6974vw, 5.3125rem);
    text-transform: uppercase;
}
h2, .et_pb_column_2_5 h2, p.intro-text{
  font-size: clamp(1.9375rem, 1.6293rem + 1.1207vw, 2.75rem);
}
h3 {
  font-size: clamp(1.625rem, 1.5263rem + 0.3947vw, 2rem);
}
h4 {
  font-size: 1.2rem;
}
em{
    text-transform: lowercase;
    font-style: italic;
}
.emphasis-sm{
    font-size: clamp(1.6875rem, 0.6918rem + 3.6207vw, 4.3125rem);
    text-transform: lowercase;
    font-style: italic;
}
p.cta-heading, p.intro-text{
    font-family: 'Fraunces', Georgia, "Times New Roman", serif;
}
p.intro-text{
    font-size: clamp(1.9375rem, 1.6293rem + 1.1207vw, 2.75rem);
    font-weight:300;
    line-height:1.2;
}
.script-font{
    font-family: adventures-unlimited, sans-serif;
    font-weight: 400;
    font-style: normal;
    text-transform: lowercase;
    font-size: clamp(4.0625rem, 2.5216rem + 5.6034vw, 8.125rem);
    transform: rotate(-5deg);
    display: inline-block;
    line-height:.6;
}
/*Homepage Header BG Removal*/
.home .et_builder_inner_content:not(.has_et_pb_sticky) #top-header{
    background-color:transparent!important;
}
/*--GLOBALS--*/
.et_pb_column_0_tb_header, .et_pb_column_2_tb_header, .et-menu a{
    transition:none!important;
}
.mauve{
    color:#9F6482;
}
.blush{
    color:#ECD4E1;
}
a.pb-button:hover{
    border:none;
}
.vert-align{
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin:0;
}
/*Hero section spacing*/
.et_pb_section_0.et_pb_section{
    margin-top:-153px;
    padding-top:175px;
}
/*End hero section spacing*/
a.pb-button{
    border-top:none;
    border-right:none;
    border-bottom:1px solid white;
    border-left:none;
    border-radius:0;
}
/*Image Cover*/
.img-cover .et_pb_image_wrap{
    width:100%;
}
.img-cover .et_pb_image_wrap img{
    width:100%!important;
    object-fit: cover;
}
.img-cover.cover-top .et_pb_image_wrap img{
    object-position:top;
}
/*--END GLOBALS--*/
/*--SPECIAL ELEMENTS--*/
/*Scrolling Marquee*/
.marquee-container {
    display: flex;
    overflow: hidden; /* Hide the text as it leaves the screen */
    white-space: nowrap; /* Keep text on one line */
    width: 100%;
}

.marquee-text {
    display: inline-flex;
    align-items: center;
    gap: 20px;    
    animation: marquee 25s linear infinite;
    font-size: clamp(2.375rem, 0.9052rem + 5.3448vw, 6.25rem);
    line-height:1em;
    font-family: 'Fraunces', Georgia, "Times New Roman", serif;
    font-weight:200;
    color:#5F2E51;
}
.marquee-text picture{
    height:75px;
    width:98px;
}

/* Keyframe animation moves text from right to left */
@keyframes marquee {
    0% { transform: translateX(0); } /* Start visible on screen */
    100% { transform: translateX(-50%); }
}
/*End Scrolling Marquee*/
/*4 Image Row Bleed*/
.gallery-row-bleed{
    display: grid;
    gap: 15px;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}
.four-wide{
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.two-wide{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.gallery-row-bleed .et_pb_column{
    width:100%!important;
}
/*End 4 image Row Bleed*/
/*DSM Testimonial Slider*/
.pb-testimonial-slider .dsm_card_wrapper{
    padding-top:75px!important;
    padding-right:75px!important;
    padding-bottom:75px!important;
    padding-left:90px!important;
    margin-left:-15px;
    background:#ECD4E1;
}
.pb-testimonial-slider .swiper-wrapper{
    height:auto!important;
}
.pb-testimonial-slider.dsm_card_carousel .swiper-pagination-bullets{
    bottom:-50px;
}
.pb-testimonial-slider .dsm_card_carousel_arrow_outside .swiper-button-prev{
    left:-75px!important;
}
.pb-testimonial-slider .dsm_card_carousel_arrow_outside .swiper-button-next{
    right:-75px!important;
}
.pb-testimonial-slider .testimonial-name{
    margin-top: 15px;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #9F6482;
}
/*End Testimonial Slider*/
/*FAQ*/
.pb-faq .et_pb_toggle_open, .pb-faq .et_pb_toggle_close{
    padding:20px 0;
}
/*End FAQ*/
/*--PB NAV--*/
#pb-mobile-menu {display:none}
#top-header-row .et_pb_menu .et-menu {
    margin-left:0;
    margin-right:0;
    gap:32px;
}
#top-header-row .nav li ul{
    width:auto;
}
#top-header-row .et_pb_menu .et-menu>li {
    padding-right:0;
    padding-left:0;
}
.et-menu li>a{
    cursor:pointer;
}
#top-header-row .nav-menu-column{
    margin:0;
    width:auto!important;
}
#top-header-row .et_pb_menu .et-menu-nav>ul ul{
    padding:10px 0;
}
#top-header-row .nav li li{
    padding:0;
}
/*
.nav-menu ul, .et-l--header ul{
    list-style-type: none;
    padding: 0;
    display: inline-flex;
    gap: 45px;
}
li.menu-item a{
    color: white;
    text-transform: uppercase;
    letter-spacing: 2px;
}  
.pb-footer-menu li.menu-item a{
    text-transform: none;
}
#et-top-navigation .header-cta a {
    color:white!important;
    background-color: #171717;
    padding: 15px 20px!important;
    border-radius: 7px;
    text-align: center;
    opacity:1!important;
}
#top-menu a{
    color:#0e0e17;
}
#et-top-navigation .header-cta a:hover {
    background-color:darkviolet;
    padding: 15px 20px!important;
    border-radius: 7px;
    text-align: center;
    opacity 1!important:
}
#et-top-navigation .header-cta a:before{
    display:none;
}
*/
/*--Add hover line under nav items--*/
#top-menu li a:before{
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    bottom: 0;
    left: 0;
    background: #db2929;
    visibility: hidden;
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transition: all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
}
#top-menu li a:hover:before {
  visibility: visible;
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
}
#top-menu-nav>ul>li>a:hover:before{
    opacity:1;
}
body ul#top-menu > li.current-menu-item > a:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 3px;
    bottom: 0;
    left: 0;
    background-color: #db2929;
    visibility: visible;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
}
/*--Sub Menus--*/
/*-Prevent dropdown from opening when cursor hovers over menu area-*/
#top-menu-nav ul.sub-menu{
    padding:10px 20px 20px 20px;
    display:none;
}
#top-menu-nav li:hover>ul.sub-menu{
    display:block;
}
#top-menu-nav ul.sub-menu li{
    padding:0; 
}
#top-menu-nav ul.sub-menu li a{
    padding:12px 0; 
}
/*-Change Sub Menu color if needed-*/
/*
#top-menu-nav ul.sub-menu li a{
    color:white;
}
#main-header .nav li ul.sub-menu{
    border-top:none;
}
*/
/*--Switch next and previous pagination--*/
.et_pb_posts_nav .nav-previous { float: right; }
.et_pb_posts_nav .nav-next { float: left; }
.et_pb_posts_nav .meta-nav { display: none; }
.et_pb_posts_nav .nav-next a:before { content: '← '; }
.et_pb_posts_nav .nav-previous a:after { content: ' →'; }

/*---START Collapsible Mobile Menu---*/

.mobile_menu_bar::before{
    color:#0e0e17;
}
/*change hamburger icon to x when mobile menu is open*/

#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before,
.et_pb_module.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
	content: '\4d';
    color:white;
}
.et_pb_menu .et_mobile_menu .menu-item-has-children > a,
#main-header .et_mobile_menu .menu-item-has-children > a {
    background-color: transparent;
    position: relative;
}
.et_pb_menu .et_mobile_menu .menu-item-has-children > a:after, #main-header .et_mobile_menu .menu-item-has-children > a:after {
    font-family: 'ETmodules';
    text-align: center;
    speak: none;
    font-weight: 600;
    font-variant: normal;
    text-transform: none;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    font-size: 30px;
    content: '\4c';
    top: 15px;
    right: 13px;
}
.et_pb_menu .et_mobile_menu .menu-item-has-children.visible > a:after,
#main-header .et_mobile_menu .menu-item-has-children.visible > a:after {
    content: '\4b';
}
.et_pb_menu .et_mobile_menu ul.sub-menu,
#main-header .et_mobile_menu ul.sub-menu,
.et-db #et-boc .et-l .et_pb_menu .et_mobile_menu li ul.sub-menu {
    display: none !important;
    visibility: hidden !important;
    transition: all 1.5s ease-in-out;
}
.et_pb_menu .et_mobile_menu li.visible > ul.sub-menu,
#main-header .et_mobile_menu li.visible > ul.sub-menu,
.et-db #et-boc .et-l #main-header .et_mobile_menu li.visible > ul.sub-menu,
.et-db #et-boc .et-l .et_pb_fullwidth_menu .et_mobile_menu li.visible > ul.sub-menu,
.et-db #et-boc .et-l .et_pb_menu .et_mobile_menu li.visible > ul.sub-menu {
    display: block !important;
    visibility: visible !important;
}

/*--FOOTER--*/
#footer-widgets .footer-widget li:before {
    display:none;
}
#footer-widgets .footer-widget li {
    padding-left: 0px;
}
/*-Reset widget margins-*/
#footer-widgets .footer-widget .fwidget{
    float:none;
    margin-bottom:0;
}
#footer-widgets .footer-widget .fwidget .wp-block-image.ng-footer-logo{
    margin-bottom:15px;
}
#footer-widgets .footer-widget .fwidget .ng-footer-contact{
    margin-bottom:30px;
}
#footer-widgets .footer-widget .fwidget .ng-fwidget-title{
    display:block;
    font-size:18px;
    margin-bottom:15px;
    font-weight:700;
}
/*--Gravity Forms--*/
.gform_required_legend{display:none}

.gform_wrapper :is(.gfield_label, .gform-field-label, legend, .ginput_complex label) {
  text-transform: uppercase;
  letter-spacing: 1px;
}
.gform_wrapper.gform-theme--framework {
    --gf-ctrl-bg-color: #F8F3F6;
    --gf-ctrl-border-color-focus: #5F2E51;
    --gf-ctrl-btn-font-size-md: 16px;
    --gf-ctrl-btn-font-weight: 400;
    --gf-ctrl-btn-letter-spacing: 2px;
    --gf-ctrl-btn-text-transform: uppercase;
    --gf-ctrl-btn-color-primary:#FFFFFF;
    --gf-ctrl-btn-bg-color-primary:#9F6482;
    --gf-ctrl-btn-color-hover-primary: #FFFFFF;
    --gf-ctrl-btn-bg-color-hover-primary: #5F2E51;
    --gf-ctrl-btn-padding-y: 15px;
    --gf-ctrl-btn-padding-x-md: 25px;
    --gf-ctrl-shadow:none;
    --gf-ctrl-border-color:#F8F3F6!important;
    --gf-ctrl-outline-color-focus:transparent;
    --gf-form-gap-y:30px;
    --gf-radius:0px;
}
.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input{
    --gf-local-width: 100%;
}
/*--MEDIA QUERIES--*/
@media only screen and (min-width: 1151px) {
    #top-header #top-header-row{
        display: grid;
        grid-template-columns: 1fr auto 1fr;
    }
    #mobile-header{
        display:none;
    }
}
@media only screen and (max-width: 1150px) {
    #top-header{
        display:none;
    }
    #mobile-header{
        display:flex;
    }
    #mobile-header .mobile-menu-column{
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        width: 100%;
    }
    #mobile-header .mobile-menu-column .mobile-menu-logo{
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 10;
        margin:0;
    }
    #mobile-header .mobile-menu-column .mobile-menu-control{
        margin-top:15px;   
    }
    /*Hero section spacing*/
    .et_pb_section_0.et_pb_section{
        margin-top:-57px;
        padding-top:130px;
        padding-bottom:20px;
    }
    /*End hero section spacing*/
}
/*** Responsive Styles Desktop Only ***/
@media only screen and (min-width: 981px) {
    
}
/*** Responsive Styles Tablet And Below ***/
@media all and (max-width: 980px) {
    /*-Shrink mobile menu height-*/
    .et_header_style_left #et-top-navigation .mobile_menu_bar{
        padding-bottom:15px;
    }
    .et_header_style_left .et-fixed-header #et-top-navigation, .et_header_style_left #et-top-navigation{
        padding-top:15px;
    }
    .container.et_menu_container{
        width:90%;
    }
    .et_fixed_nav #main-header{
        display: flex;
        position:fixed;
    }
    #footer-widgets .footer-widget{
        float:none;
    }
    /*Fullwidth Bleed Menu*/
    .gallery-row-bleed{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    /*Testimonial Slider*/
    .pb-testimonial-slider .et_pb_slide_image{
        display:none;
    }
    .pb-testimonial-slider .et_pb_slide{
        padding:0;
    }
    .pb-testimonial-slider .et_pb_slides .et_pb_slider_container_inner{
        width:100%;
    }
    .pb-testimonial-slider .et_pb_slide_with_image .et_pb_slide_description{
        width:100%;
        padding:40px;
        margin:0;
    }
    .pb-testimonial-slider .et_pb_slides{
        padding:70px;
    }
    .logo-row .et_pb_column{
        width:33%!important;
        margin:0!important;
    }
    /*---CHANGE STACKING ORDER ON MOBILE---*/
    .custom_row, .custom_row_wide {
        display: -webkit-box;
        display: -moz-box;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: flex;
            -webkit-flex-wrap: wrap; /* Safari 6.1+ */
        flex-wrap: wrap;
    }
    /*** custom classes that will designate the order of columns in the flex box row ***/
    .first-on-mobile {
        -webkit-order: 1;
        order: 1;
        padding-bottom:30px;
    }
    .custom_row_wide .first-on-mobile {
        -webkit-order: 1;
        order: 1;
        padding-bottom:0px;
    }
    .second-on-mobile {
        -webkit-order: 2;
        order: 2;
        margin-bottom:0px;
    }

    .third-on-mobile {
        -webkit-order: 3;
        order: 3;
    }

    .fourth-on-mobile {
        -webkit-order: 4;
        order: 4;
    }
    /*---END--CHANGE STACKING ORDER ON MOBILE---*/
}
@media all and (max-width: 767px) {
    .pb-testimonial-slider .et_pb_slide_with_image .et_pb_slide_description{
        padding:20px;
    }
    .et-pb-controllers{
        bottom:3%;
    }
    /*Move video on Mobile*/
    .pb-video-section .et_pb_section_video_bg .mejs-video{
        left:30%;
    }
    .marquee-text picture{
        height:45px;
        width:59px;
    }
    .pb-testimonial-slider .dsm_card_wrapper{
        padding-top:40px!important;
        padding-right:40px!important;
        padding-bottom:40px!important;
        padding-left:40px!important;
        margin-left:0px!important;
    }
}

/*** Responsive Styles Tablet Only ***/
@media all and (min-width: 768px) and (max-width: 980px) {
    /*--Start mobile menu slide in--*/
    #mobile_menu{
        width: 60%;
    }
    /*--END mobile menu slide in--*/
}
/*** Responsive Styles Smartphone Portrait ***/
@media all and (max-width: 500px) {

}