/* This stylesheet is for site-specific styling. */

/*------------------------------------*\
    .VARIABLES
\*------------------------------------*/
:root {
    /* Fonts */
    --font-body: "roboto", sans-serif;
    --font-heading: "futura-pt", sans-serif;
    --font-button: "roboto", sans-serif;
    --font-menu: "futura-pt", sans-serif;

    /* Custom Color Variables Go Here */
}

/*------------------------------------*\
    .GENERAL STYLES
\*------------------------------------*/
p {
    color: var(--bb-color-raisin-black);
}

/* Links */
.our-slider a:not(:has(img)) {
    background: none !important;
}

a:not(:has(img)) {
    color: var(--bb-color-orange-brown);
}

a:not(:has(img)):hover,
a:not(:has(img)):focus {
    color: var(--bb-color-orange-yellow);
}

/* Headings */
h1,
h2,
h3,
h4,
h5,
h6,
.fl-builder h1,
.fl-builder h2,
.fl-builder h3,
.fl-builder h4,
.fl-builder h5,
.fl-builder h6 {
    font-family: var(--font-heading);
    font-weight: 700;
    color: var(--bb-color-raisin-black);
    margin-top: 0.5em;
    margin-bottom: 0.5em;
    word-break: normal;
    overflow-wrap: normal;
}

.fl-module.fl-rich-text h2,
.fl-module.fl-rich-text h3 {
    margin-top: 0px;
    line-height: 1.2;
    margin-bottom: 10px;
}

/* Non-heading Titles (Info Box, etc.) */
.non-heading span.uabb-infobox-title,
.fl-builder.non-heading span.uabb-infobox-title,
.non-heading span.uabb-info-list-title,
.fl-builder.non-heading span.uabb-info-list-title {
    font-family: var(--font-heading);
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.3;
}

/*------------------------------------*\
    .HEADER & NAVIGATION
\*------------------------------------*/
/* Top Bar */
.topbar {
    background-color: var(--bb-color-raisin-black);
    color: var(--bb-color-off-white);
}

.topbar a {
    color: var(--bb-color-off-white);
}

.topbar a:hover {
    color: var(--bb-color-orange-yellow);
}

/* Main Navigation */
nav ul li a {
    color: var(--bb-color-raisin-black);
}

.fl-menu-vertical li a {
    display: inline-block;
}

/*------------------------------------*\
    .BUTTONS
\*------------------------------------*/
/* General Button Styles */
.fl-button,
button,
.fl-module-button a,
.uabb-button-wrap a.uabb-button,
.gform_wrapper input[type="submit"],
.gform_wrapper input[type="button"],
.myform .gform_wrapper input[type=submit],
.myform .gform_wrapper input[type=button],
.myform .gform_wrapper button[type=button],
.woocommerce-page button[type="submit"],
.woocommerce-page a.wc-block-components-button {
    background-color: var(--bb-color-orange-brown);
    color: var(--bb-color-white);
    font-weight: 700;
    text-transform: uppercase;
}

.fl-button:hover,
button:hover,
.fl-module-button a:hover,
.uabb-button-wrap a.uabb-button:hover,
.gform_wrapper input[type="submit"]:hover,
.gform_wrapper input[type="button"]:hover,
.myform .gform_wrapper input[type=submit]:hover,
.myform .gform_wrapper input[type=button]:hover,
.myform .gform_wrapper button[type=button]:hover,
.woocommerce-page button[type="submit"]:hover,
.woocommerce-page a.wc-block-components-button:hover {
    background-color: var(--bb-color-orange-yellow);
    color: var(--bb-color-white);
}

/* Specific Button Modules */

/*------------------------------------*\
    .FORMS
\*------------------------------------*/
/* Placeholder Text */
::-webkit-input-placeholder {
    color: #757575 !important;
    opacity: 1 !important;
}

:-ms-input-placeholder {
    color: #757575 !important;
    opacity: 1 !important;
}

::-moz-placeholder {
    color: #757575 !important;
    opacity: 1 !important;
}

:-moz-placeholder {
    color: #757575 !important;
    opacity: 1 !important;
}

/* Zip Code Form */
.zipcodeform {
    width: 100%;
}

.zipcodeform label {
    width: 100%;
}

.zipcodeform #zipcode {
    float: left;
    width: 64%;
    padding: 18px 20px;
    margin: 0;
    border-radius: 0px;
    line-height: 1.3;
    color: var(--bb-color-raisin-black);
}

.zipcodeform button {
    float: right;
    width: 35%;
    margin: 0;
    padding: 14px 20px;
    line-height: 1.3;
    border: 2px solid var(--bb-color-orange-brown);
}

.zipcodeform button:hover,
.zipcodeform button:focus {
    border-color: var(--bb-color-orange-yellow);
    border: 2px solid var(--bb-color-orange-yellow);
}

.zipcode-in button {
    border-color: var(--bb-color-white);
}

.zipcode-in button:hover,
.zipcode-in button:focus {
    border-color: var(--bb-color-orange-yellow);
}

/* Gravity Forms */
.myform .gform-theme--foundation .gform-grid-col {
    padding-left: 0;
    padding-right: 20px;
}

.myform .gform-theme--foundation .gform-grid-col:last-child {
    padding-right: 0;
}

.myform .gform_wrapper .top_label .gfield_label {
    line-height: 1.6;
}

.myform .uabb-gf-style form .gform_body .gfield_label {
    margin-bottom: 0;
}
.gform-body.gform_body gmp-place-autocomplete {
    border: 1px solid #686e77 !important;
    width: 100% !important;
    background: #fff !important;
    display: inline-block !important;
    border-radius: 3px !important;
    box-sizing: border-box !important;
}

.gfield .ginput_container input,
.gfield .ginput_container textarea,
.gfield .ginput_container select {
    border: 1px solid #686e77 !important;
    border-radius: 3px !important;
}
/* Style Google Maps Autocomplete only inside Gravity Forms */
.gform-body.gform_body gmp-place-autocomplete {
  display: inline-block !important;
  width: 100% !important;
  border: 1px solid #686e77 !important;
  border-radius: 3px !important;
  background-color: #fff !important;
  box-sizing: border-box !important;
}

/* Unify input, textarea, and select field styles */
.gfield .ginput_container input,
.gfield .ginput_container textarea,
.gfield .ginput_container select {
  border: 1px solid #686e77 !important;
  border-radius: 3px !important;
}

/*------------------------------------*\
    .WOOCOMMERCE
\*------------------------------------*/
.product-bar .woocommerce div.product form.cart .variations select {
    word-wrap: normal;
    border: 1px solid rgba(0, 0, 0, 0.1);
    padding: 5px 12px;
}

.location-phone-button,
.product-bar .single_add_to_cart_button.button.alt {
    font-family: var(--font-button);
    font-size: 1.2rem;
    letter-spacing: 1px;
    border: none;
    padding: 0.75em 1.5em;
    border-radius: 0px;
    cursor: pointer;
    line-height: 1.2;
    text-align: center;
    transition: background-color 0.3s ease;
    background-color: var(--bb-color-orange-brown);
    text-transform: uppercase;
    font-weight: 700;
    color: var(--bb-color-off-white);
    display: inline-block;
}

.location-phone-button:hover,
.location-phone-button:focus,
.product-bar .single_add_to_cart_button.button.alt:hover,
.product-bar .single_add_to_cart_button.button.alt:focus {
    background-color: var(--bb-color-orange-yellow);
    color: var(--bb-color-off-white-hover);
}

.woocommerce .product_meta,
.woocommerce .woocommerce-tabs.wc-tabs-wrapper {
    display: none;
}

.mspc-content .mspc-variations .mspc-variation {
    padding: 6px 10px;
}

.mspc-content .mspc-variations .mspc-variation .mspc-radio input[type="radio"] {
    border: 1px solid rgba(0, 0, 0, 0.7);
}

.mspc-content .mspc-variations .mspc-variation.mspc-active {
    border: 1px solid rgba(0, 0, 0, 0.3);
}

.our-product .mspc-wrapper {
    margin: 20px 0;
    width: 100%;
}

.woocommerce-Price-amount::before,
.wc-block-components-product-price__value::before {
    content: "Deposit: ";
}

.our-product .woocommerce-Price-amount.amount {
    font-weight: bold;
    color: var(--bb-color-raisin-black);
}

.our-product .mspc-wrapper,
.mspc-wrapper * {
    order: 2;
}

.our-product .mspc-wrapper.mspc-items-horizontal .mspc-variation .mspc-radio {
    order: 1;
}

.our-product .woocommerce-variation-price {
    margin: 0 0 20px;
}

.wc-block-checkout__sidebar h3.wc-block-components-product-name {
    font-size: 1.6em;
}

/* hide "FREE" from delivery  */
.wc-block-checkout__shipping-option--free,
.wc-block-components-totals-shipping .wc-block-components-totals-item__value {
    display: none;
}

.react-datepicker__header h2 {
    font-size: 1rem;
}

.react-datepicker .react-datepicker__navigation {
    display: none;
}

/*------------------------------------*\
    .MODULES & LAYOUT
\*------------------------------------*/
/* Row Styles */
.fl-row-content-wrap,
.inner-spacing {
    padding-top: 60px;
    padding-bottom: 60px;
}

.banner-hero .fl-row-content-wrap {
    min-height: 450px;
}

.border-bottom {
    position: relative;
    margin-top: 0;
}

.border-bottom::after {
    content: "";
    width: 100%;
    height: 7px;
    background: var(--bb-color-orange-yellow);
    margin-top: 15px;
}

.button-spacer {
    margin: 20px 0 0;
}

/* FAQ Module */
.my-faq .uabb-faq-item .uabb-faq-questions {
    background: var(--bb-color-orange-brown);
    color: var(--bb-color-white);
}

.my-faq .uabb-faq-item-active .uabb-faq-questions {
    background: var(--bb-color-orange-yellow);
    color: var(--bb-color-white);
}

.my-faq .uabb-faq-item .uabb-faq-questions .uabb-faq-question-label,
.my-faq .uabb-faq-item-active .uabb-faq-questions .uabb-faq-question-label {
    color: var(--bb-color-white);
    font-family: var(--font-heading);
    font-size: 1.17rem;
}

a.fl-button,
a.fl-button:visited {
    background: var(--bb-color-orange-brown);
    color: var(--bb-color-white);
}

a.fl-button:hover,
.fl-builder-content a.fl-button:hover {
    color: var(--bb-color-white);
    background: var(--bb-color-orange-yellow);
}

a.fl-button *,
a.fl-button:visited * {
    color: var(--bb-color-white);
}

a.fl-button:hover * {
    color: var(--bb-color-white);
}

a.fl-button:hover,
a.button:hover {
    color: var(--bb-color-white);
    border-color: var(--bb-color-orange-yellow);
    background: var(--bb-color-orange-yellow);
}

.woocommerce-page ul.products li.product a.button,
.woocommerce-page .woocommerce-message a.button,
.woocommerce-page .woocommerce-message a.button.wc-forward,
.woocommerce-page .woocommerce a.button.wc-forward,
.woocommerce-page button.button,
.woocommerce-page button.button.alt,
.woocommerce-page a.button,
.woocommerce-page a.button.alt,
.woocommerce-page .woocommerce button[type="submit"],
.woocommerce-page button[type="submit"].alt.disabled {
    color: var(--bb-color-white);
    background: var(--bb-color-orange-brown);
    border-color: var(--bb-color-orange-brown);
    border-radius: 0px;
}

.group-button a.fl-button,
.group-button a.fl-button:visited {
    border: 2px solid var(--bb-color-orange-brown);
    color: var(--bb-color-orange-brown);
    border-radius: 0px;
    background: transparent;
}

.group-button a.fl-button *,
.group-button a.fl-button:visited * {
    color: var(--bb-color-orange-brown);
    background: transparent;
}

.group-button a.fl-button:hover *,
.group-button a.fl-button:visited:hover * {
    color: var(--bb-color-white);
}

.group-button a.fl-button:hover,
.group-button a.fl-button:focus {
    border: 2px solid var(--bb-color-orange-yellow);
    background-color: var(--bb-color-orange-yellow);
    color: var(--bb-color-white);
}

.border-button a.fl-button,
.border-button a.fl-button:visited {
    border: 2px solid var(--bb-color-white);
    color: var(--bb-color-white);
}

.border-button:hover a.fl-button,
.border-button:focus a.fl-button {
    border: 2px solid var(--bb-color-orange-yellow);
    background-color: var(--bb-color-orange-yellow);
    color: var(--bb-color-white);
}

#menu-dropdown {
    background: #fff;
    border: 0;
    padding: 10px 15px;
    border-radius: 0px;
    border-right: 10px solid var(--bb-color-white);
}

.mspc-clear-selection {
    display: inline-block;
    color: var(--bb-color-orange-brown);
    margin: 20px 0 0;
}

/* Hover Box */
.overlay-box,
.relative {
    position: relative;
}

.overlay-box::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: rgba(0, 0, 0, 0.75);
    transition: background-color 0.3s ease, transform 0.3s ease;
    width: 100%;
    height: 100%;
}

.overlay-box:hover::before {
    background-color: rgba(0, 0, 0, 1);
}

/* Child Page List */
.child-page-list {
    list-style: none;
    margin: 0;
    padding: 0;
    text-align: center;
}

.child-page-list li {
    display: inline-block;
    padding: 0 10px;
}

.child-page-list li a {
    color: var(--bb-color-raisin-black);
}

.child-page-list li a:hover,
.child-page-list li a:focus {
    color: var(--bb-color-orange-yellow);
}

.menu-locations li {
    width: 49%;
    display: inline-block;
}

.back-button a {
    text-transform: uppercase;
}

.upper-space {
    margin: 60px 0 0;
}

/* Misc */
.right-middle {
    text-align: right;
}

.hidden .uabb-infobox-text-wrap,
.hidden .uabb-infobox-text.uabb-text-editor {
    display: none;
}

.our-slider .fl-slide-foreground.clearfix {
    display: flex;
    flex-direction: column-reverse;
}

.our-slider .fl-slide-content h3.fl-slide-title {
    color: var(--bb-color-raisin-black);
    font-size: 1.2rem;
}

.our-slider .fl-slide-photo img {
    max-width: 60%;
}

/*------------------------------------*\
    .FOOTER
\*------------------------------------*/
footer a:not(:has(img)) {
    color: var(--bb-color-raisin-black);
}

footer a:not(:has(img)):hover {
    color: var(--bb-color-orange-yellow);
}

.footericons .fl-icon {
    color: var(--bb-color-orange-brown);
}


/*------------------------------------*\
    .MEDIA QUERIES
\*------------------------------------*/
@media screen and (max-width: 768px) {

    /* Headings */
    h1,
    .fl-builder h1 {
        font-size: 2rem;
        line-height: 1.2;
    }

    h2,
    .fl-builder h2 {
        font-size: 1.6rem;
    }

    h3,
    .fl-builder h3 {
        font-size: 1.5rem;
        line-height: 1.3;
    }

    h4,
    .fl-builder h4 {
        font-size: 1.2rem;
        line-height: 1.35;
    }

    .non-heading span.uabb-infobox-title,
    .fl-builder.non-heading span.uabb-infobox-title,
    .non-heading span.uabb-info-list-title,
    .fl-builder.non-heading span.uabb-info-list-title {
        font-size: 1.4rem;
    }

    /* Buttons */
    .fl-button,
    button,
    .fl-module-button a,
    .uabb-button-wrap a.uabb-button,
    .gform_wrapper input[type="submit"],
    .gform_wrapper input[type="button"],
    .myform .gform_wrapper input[type="submit"],
    .myform .gform_wrapper input[type="button"],
    .myform .gform_wrapper button[type="button"],
    .woocommerce-page button[type="submit"],
    .woocommerce-page a.wc-block-components-button {
        font-size: 1rem;
    }

    /* Forms */
    .zipcodeform .zipcode {
        padding: 16px 20px;
    }

    .zipcodeform button {
        padding: 14px 15px;
    }

    .myform .gform-theme--foundation .gform-grid-col {
        padding-left: 0;
        padding-right: 0;
    }

    /* Layout */
    .fl-row-content-wrap,
    .inner-spacing {
        padding-top: 30px;
        padding-bottom: 40px;
    }

    .banner-hero .fl-row-content-wrap {
        min-height: 320px;
    }

    .inner-spacing {
        padding: 0 0 20px;
    }

    .center-in {
        text-align: center;
    }

    /* Menus */
    .menu-locations li {
        width: 100%;
        display: inline-block;
    }

    .our-slider .fl-slide-mobile-photo img {
        max-width: 60%;
        margin: 0px auto;
        height: auto;
    }

    .our-slider .fl-slide .fl-slide-content {
        margin: 0;
        padding: 0px;
        background: transparent;
    }

    .upper-space {
        margin: 30px 0 0;
    }
}
