/*
Theme Name: NG Child Theme
Theme URI: https://psghettis.com/
Description: This is a custom child theme for Divi
Author: Never Gravity
Author URI: https://nevergravity.com/
Template: Divi
Version: 1.0.0
*/
/*ThirstySoft Font*/
@font-face {
	font-family: 'thirstysoft';
	src: url('/wp-content/themes/divi-child-theme/fonts/thirstysoft/thirstysoftlight-webfont.woff2') format('woff2');
	font-weight: 300;
	font-style: normal;
}
@font-face {
	font-family: 'thirstysoft';
	src: url('/wp-content/themes/divi-child-theme/fonts/thirstysoft/thirstysoftregular-webfont.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'thirstysoft';
	src: url('/wp-content/themes/divi-child-theme/fonts/thirstysoft/thirstysoftmedium-webfont.woff2') format('woff2');
	font-weight: 500;
	font-style: normal;
}
@font-face {
	font-family: 'thirstysoftbold';
	src: url('/wp-content/themes/divi-child-theme/fonts/thirstysoft/thirstysoftbold-webfont.woff2') format('woff2');
	font-weight: 600;
	font-style: normal;
}
@font-face {
	font-family: 'thirstysoft';
	src: url('/wp-content/themes/divi-child-theme/fonts/thirstysoft/thirstysoftextrabold-webfont.woff2') format('woff2');
	font-weight: 700;
	font-style: normal;
}
@font-face {
	font-family: 'thirstysoft';
	src: url('/wp-content/themes/divi-child-theme/fonts/thirstysoft/thirstysoftblack-webfont.woff2') format('woff2');
	font-weight: 800;
	font-style: normal;
}
/*DDCHardware Font*/
@font-face {
	font-family: 'ddchcompressed';
	src: url('/wp-content/themes/divi-child-theme/fonts/ddchardware/ddchardware-compressed-webfont.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'ddchcondensed';
	src: url('/wp-content/themes/divi-child-theme/fonts/ddchardware/ddchardware-condensed-webfont.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
}
@font-face {
	font-family: 'ddch';
	src: url('/wp-content/themes/divi-child-theme/fonts/ddchardware/ddchardware-regular-webfont.woff2') format('woff2');
	font-weight: normal;
	font-style: normal;
}
/*Variables*/
:root {
/*Font-Sizes*/
    --font-size-xs: clamp(1.125rem, 1rem + 0.5vw, 1.5rem);
    --font-size-sm: clamp(1.25rem, 1.0833rem + 0.6667vw, 1.75rem);
    --font-size-md: clamp(1.875rem, 1.339rem + 1.429vw, 2.625rem);
    --font-size-lg: clamp(2rem, 1.327rem + 2.692vw, 3.75rem);
    --font-size-xl: clamp(3rem, 2.423rem + 2.308vw, 4.5rem);;
    --font-size-2xl: clamp(6rem, 4.702rem + 5.192vw, 9.375rem);
/*Colors*/
    --primary-color:#d8241a;
    --secondary-color:#006535;
}
/*Typography*/
.font-xs{
    font-size: var(--font-size-xs);
}
.font-sm{
    font-size: var(--font-size-sm);
}
.font-md{
    font-size: var(--font-size-md);
}
.font-lg{
    font-size: var(--font-size-lg);
}
.font-xl{
    font-size: var(--font-size-xl);
}
.font-2xl{
    font-size: var(--font-size-2xl);
}
.red{
   color: var(--primary-color);
}
.green{
   color: var(--secondary-color);
}
.w-medium{
    font-weight:500;
}
.w-semibold{
    font-weight:600;
}
.w-bold{
    font-weight:700;
}
.w-extrabold{
    font-weight:800;
}
.w-black{
    font-weight:900;
}
/*--MAIN CSS--*/
body, p, .brandon, .et_pb_text, .entry-content, ul:not([class]),
ol:not([class]),
ul:not([class]) li,
ol:not([class]) li {
    font-family: brandon-grotesque, sans-serif;
}
h1, h2, h3, h4{
    font-weight:600;
    margin-bottom:10px;
}
h1, h1.entry-title {
    font-size: var(--font-size-xl);
}
h2, .et_pb_column_2_5 h2{
    font-size: var(--font-size-lg);
}
h3 {
}
h4 {
  font-size: 1.2rem;
}
/*Type Specifications*/
.ddch{
    font-family: 'ddch', Arial, Helvetica, sans-serif;
}
.ddch-compressed{
    font-family: 'ddchcompressed', Arial, Helvetica, sans-serif;
}
.thirsty{
    font-family: 'thirstysoft', Georgia, serif;
}
.menu-heading{
    font-family: brandon-grotesque, sans-serif;
    font-weight:900;
    text-transform: uppercase;
    margin:0;
    padding:0;
}
.brandon{
    font-family: brandon-grotesque, sans-serif;
}
.et_pb_text{
    line-height:inherit;
}
.curved-text .dsm-text-path-container svg text{
    font-family: 'ddch', Arial, Helvetica, sans-serif;
    font-size: var(--font-size-xs);
    color:#006535;
}
/*Vertical Text Module*/
.product-info-vert-text {
    writing-mode: vertical-rl;
    align-items: center;
}
.vertical-text{
    transform: rotate(180deg);
    display: inline-block;
}
/*--Globals--*/
#main-content{
    overflow: hidden;
    position: relative;
}
#main-content{
    background-image: url(https://psghettisdev.kinsta.cloud/wp-content/uploads/2026/06/Psghettis-Background-Pattern-785.jpg);
}
#et-main-area{
    z-index:9998;
    margin-top:-40px;
}
.et_pb_section{
    background-color:transparent;
}
a.et_pb_button{
    font-family: 'ddch'!important;
    text-align:center;
}
/*--NAV--*/
.psg-mobile-nav ul.dsm-menu li a{
    font-family: 'ddch', Arial, Helvetica, sans-serif;
    font-size: var(--font-size-lg);
}
.dsm-menu-submenu-collapse .menu-item-has-children .et-pb-icon{
    font-size:44px;
}
.mobile-menu-control img, .mobile-menu-close img{
    padding:7px;
}
#psg-mobile-menu{
    height:100dvh;
}
#ng-menu-container{
    z-index:9999;
}
#ng-main-menu .ng-menu .et_pb_menu__menu>nav>ul{
    align-items:center;
}
#ng-main-menu .ng-menu li{
    margin-top:0;
}
.ng-menu a {
    font-family: 'ddch', Arial, Helvetica, sans-serif;
    font-size:18px;
    padding-bottom:0;
}
.ng-locations-menu{
    font-family: brandon-grotesque, sans-serif;
}
#ng-main-menu .header-cta a {
    color:#006535!important;
    background-color: #FFFFFF;
    padding: 15px 20px!important;
    margin-top:-8px;
    border-radius: 25px;
    text-align: center;
    opacity:1!important;
}
#ng-main-menu .header-cta a:hover {
    color:white!important;
    background-color:#006535;
}
#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;
}
*/

/*---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;
}
/*--Busines sHours--*/
ul.business-hours{
    font-family: brandon-grotesque, sans-serif;
    list-style:none;
    max-width:350px;
    font-weight:500;
    padding:0;
    display:flex;
    flex-direction:column;
    row-gap:7px;
}
ul.business-hours li{
    display:flex;
    justify-content: space-between;
}

/*--END Business Hours---*/
/*--Catering Calculator--*/
.catering-calc-container{
    font-family: brandon-grotesque, sans-serif;
}
.catering-calc-slider-label-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

.catering-calc-slider-label-row label {
  font-size: 1rem;
  font-weight: 700;
  color: #1a1a1a;
}

.catering-calc-people-value {
  font-size: 1.25rem;
  font-weight: 800;
  color: #2e7d32;
}

#catering-calc-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 15px;
  border-radius: 10px;
  background: #e0e0e0;
  outline: none;
  cursor: pointer;
}

#catering-calc-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #ccc;
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  cursor: pointer;
}

#catering-calc-slider::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #ccc;
  box-shadow: 0 1px 4px rgba(0,0,0,0.2);
  cursor: pointer;
}

.catering-calc-range-labels {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
}

.catering-calc-range-labels span {
  color: #888;
}

.catering-calc-result-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 0;
}

.catering-calc-result-row + .catering-calc-result-row {
  border-top: 1px solid #f0f0f0;
}

.catering-calc-result-label {
  color: #4a5565;
}

.catering-calc-badge {
  display: inline-block;
  padding: 5px 15px;
  border-radius: 999px;
  font-weight: 700;
  background: #DCFCE7;
  color: #008236;
}

.catering-calc-price {
  font-size: 1.35rem;
  font-weight: 900;
  color: #2e7d32;
}
/*--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) {
    font-size:16px;
}
.gform_wrapper.gform-theme--framework {
    --gf-ctrl-bg-color: #FFFFFF;
    --gf-ctrl-border-color-focus: #004625;
    --gf-ctrl-border-width: 2px;
    --gf-ctrl-btn-font-size-md: 18px;
    --gf-ctrl-btn-text-transform: uppercase;
    --gf-ctrl-btn-font-weight: 400;
    --gf-ctrl-btn-font-family: 'ddch', Arial, Helvetica, sans-serif;
    --gf-ctrl-btn-color-primary:#FFFFFF;
    --gf-ctrl-btn-bg-color-primary:#006535;
    --gf-ctrl-btn-color-hover-primary: #FFFFFF;
    --gf-ctrl-btn-bg-color-hover-primary: #004625;
    --gf-ctrl-btn-padding-y: 15px;
    --gf-ctrl-btn-padding-x-md: 25px;
    --gf-ctrl-shadow:none;
    --gf-ctrl-border-color:#CCCCCC!important;
    --gf-ctrl-outline-color-focus:transparent;
    --gf-form-gap-y:20px;
    --gf-radius:0px;
    --gf-ctrl-btn-radius: 30px;
}
.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input{
    --gf-local-width: 100%;
}
/*--MEDIA QUERIES--*/

/*** Responsive Styles Desktop Only ***/
@media only screen and (min-width: 1440px) {
    #psg-desktop-header{
        display:flex;
    }
    #psg-inter-header{
        display:none;
    }
}
@media only screen and (min-width: 1060px) and (max-width:1439px){
    #psg-desktop-header{
        display:none;
    }
    #psg-inter-header{
        display:flex;
    }
}
@media only screen and (min-width: 1060px){
    #psg-mobile-header{
        display:none;
    }
    #psg-mobile-menu{
        display:none;
    }
}
@media only screen and (max-width: 1059px){
    #psg-desktop-header{
        display:none;
    }
    #psg-inter-header{
        display:none;
    }
    #psg-mobile-header{
        display:flex;
    }
    #psg-mobile-menu{
        display:flex;
    }
}

@media only screen and (min-width: 981px) {
    .et_header_style_left #et-top-navigation nav>ul>li>a{
        padding-bottom:37px;
    }
    .et_header_style_left #et-top-navigation{
        padding:23px 0 0 0;
    }
    .et_header_style_left .et-fixed-header #et-top-navigation{
        padding-top:10px;
    }
    .et_header_style_left .et-fixed-header #et-top-navigation nav>ul>li>a{
        padding-bottom:25px;
    }
}
/*** 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;
    }
    /*--Start Mobile Menu slide in--*/
    /*--Add box shadow to mobile menu--*/
    #et_mobile_nav_menu .mobile_nav.opened #mobile_menu{
        box-shadow: -15px 0px 10px 1px rgba(0, 0, 0, .5);
    }
    #mobile_menu{
        position:fixed;
        height:100vh!important;
        overflow:auto;
        right:0;
        left:auto;
        top:0;
        display:block!important;
        padding:60px 5% 5% 5%!important;
        background-color:#1c1c26!important;
        border-top: none;
        -webkit-transition: -webkit-transform 0.4s 0s;
        -moz-transition: -moz-transform 0.4s 0s;
        transition: transform 0.4s 0s;
        -overflow-scrolling:touch!important;
        -webkit-overflow-scrolling:touch!important;
    }
    /* Move the mobile menu back onto the screen when open using translateX(0%) */
    .mobile_nav.opened #mobile_menu {
        -webkit-transform: translateX(0);
        -moz-transform: translateX(0);
        -ms-transform: translateX(0);
        -o-transform: translateX(0);
        transform: translateX(0);
    }
    /* Move the mobile menu fully off the screen when closed using translateX(100%) */
    .mobile_nav.closed #mobile_menu {
        -webkit-transform: translateX(100%);
        -moz-transform: translateX(100%);
        -ms-transform: translateX(100%);
        -o-transform: translateX(100%);
        transform: translateX(100%);
    }
    .mobile_menu_bar{
        z-index: 9999;
    }
    .et_mobile_menu{
        z-index: 9998;
    }
    ul#mobile_menu{
        display:flex;
        flex-direction:column;
    }
    ul#mobile_menu li a{
        font-size: 20px;
        padding-top:20px;
        padding-bottom:20px;
        color:white;
        border-bottom:1px solid #525252;  
    }
    ul#mobile_menu li.header-cta{
        margin-top:25px; 
    }
    ul#mobile_menu li.header-cta a{
        border:none; 
    }
    /*--END Mobile Menu Slide In--*/
    /*---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---*/
}

/*** 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: 479px) {

}