/*--------------------------------------------------------------
# CSS Reset
--------------------------------------------------------------*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote::before,blockquote::after,q::before,q::after{content:none}table{border-collapse:collapse;border-spacing:0}

*,
*::before,
*::after {
    box-sizing: border-box;
}

/*--------------------------------------------------------------
# Lenis Smooth Scrolling CSS
--------------------------------------------------------------*/
html.lenis,
html.lenis body {
  height: auto;
}

.lenis:not(.lenis-autoToggle).lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch],
.lenis [data-lenis-prevent-vertical],
.lenis [data-lenis-prevent-horizontal] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

.lenis.lenis-autoToggle {
  transition-property: overflow;
  transition-duration: 1ms;
  transition-behavior: allow-discrete;
}


/*--------------------------------------------------------------
# Variables
--------------------------------------------------------------*/
:root {
    --red-color: #f00;
    --black-color: #000;
    --white-color: #fff;
    --blue-color: #0066cc;
    --water-color: #e3f2fd;
    --kawaii-silver: #dddee0;
    --cute-grey-color: #b3b3b3;
    --ebony-clay-color: #252e3c;
    --burnished-teak-color: #b3985f;
    --salted-caramel-color: #d4b07a;
    --independence-color: #4a5568;
    --matte-bronze-color: #b8965a;
    --powder-blue-color: #b8e2e8;
    --dark-space-color: #1a2332;
    --smooth-red-color: #c9111c;
    --form-field-placeholder-color: var(--cute-grey-color);
    
    --link-text-color: var(--burnished-teak-color);
    --link-text-hover-color: var(--black-color);

    --b-line-height: 2;
    --b-font-size: 16px;
    --b-font-weight: 400;
    --b-font-color: #4a5568;
    --b-font-family: "Inter", sans-serif;

    --secondary-font-family: "Barlow Condensed", sans-serif;

    --header-bg-color: var(--white-color);
    --footer-bg-color: var(--dark-space-color);

    --nav-link-text-color: var(--cute-grey-color);

    --wrapper-gap-block: 5rem;
    --wrapper-gap-inline: 1rem;
    --wrapper-max-width: 1380px;
    --sidebar-width: clamp(14.688rem, -4.688rem + 31.25vw, 18.75rem);
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
html {
    font-size: 16px;
    font-family: sans-serif;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    background: var(--dark-space-color);
}

body {
    color: var(--b-font-color);
    font: var(--b-font-weight) var(--b-font-size)/var(--b-line-height) var(--b-font-family);
    font-optical-sizing: auto;
}

p,
ul,
ol{
    margin-bottom: 1rem;
}

b,
strong {
    font-weight: 700;
}

em {
    font-style: italic;
}

ul, ol {
    margin-left: 1.5rem;
    margin-bottom: 1rem;
}

ul ul,
ol ol {
    margin-bottom: 0;
}

li {
    margin-bottom: 0.25rem;
}

li::marker {
    color: var(--matte-bronze-color);
}

ul li {
    list-style: disc;
}

ul li ul li {
    list-style: circle;
}

ol li {
    list-style: decimal;
}

ol li ol li {
    list-style: lower-alpha;
}

.svg-icon,
.menu-icon {
    width: 16px;
    height: 16px;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
    font-weight: 600;
    line-height: 1.2 !important;
    color: var(--dark-space-color);
    font-family: var(--secondary-font-family);
}

h1 { font-size: clamp(2rem, 1.3623rem + 2.834vw, 3.75rem); }

h2 { font-size: clamp(2rem, 1.6893rem + 1.5534vw, 3rem);; }

h3 { font-size: clamp(1.5rem, 2.2vw, 1.875rem); }

h4 { font-size: clamp(1.375rem, 2vw, 1.625rem); }

h5 { font-size: clamp(1.3125rem, 1.6vw, 1.5rem); }

h6 { font-size: 1.125rem; }

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
#page-wrap {
    overflow-x: hidden;
    background: var(--white-color);
}

.full-width {
    width: 100%;
    min-width: 320px;
    position: relative;
}

.site-wrapper {
    width: 100%;
    margin: 0 auto;
    max-width: var(--wrapper-max-width);
    padding: var(--wrapper-gap-block) var(--wrapper-gap-inline);
}

/*--------------------------------------------------------------
## Header Area Layout
--------------------------------------------------------------*/
#header {
    top: 0;
    left: 0;
    width: 100%;
    z-index: 999;
    position: fixed;
    background: var(--dark-space-color);
    border-block: 1px solid var(--ebony-clay-color)
}

#header .site-wrapper {
    padding-block: 0.5rem;
}

#header-columns {
    display: flex;
    align-items: center;
    gap: 0.625rem 2rem;
}

#header-column-2 {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
}

#header-logo,
#header-logo img {
    display: block;
}

#header-logo {
    width: 100%;
    height: auto;
    max-width: 192px;
}

#header-logo img {
    width: 100%;
}

#custom_html-3 {
    max-width: 98px;
}

#custom_html-3 a,
#custom_html-3 img {
    display: block;
}

#custom_html-2 .phone-number {
    display: block;
    padding: 3px 16px;
    border-radius: 0.25rem;
    border: 1px solid var(--burnished-teak-color);
}

#custom_html-2 .phone-number:hover {
    color: var(--white-color);
    background: var(--burnished-teak-color);
}

/*--------------------------------------------------------------
## Content Area Layout
--------------------------------------------------------------*/
#content-area {
    display: grid;
}

#content-area.has-sidebar {
    grid-template-columns: 1fr var(--sidebar-width);
    gap: 5rem;
}

#content-area.has-sidebar.shop-content-area {
    grid-template-columns: var(--sidebar-width) 1fr;
}

#content-area.no-sidebar {
    grid-template-columns: 1fr;
}

/*--------------------------------------------------------------
## Sidebar
--------------------------------------------------------------*/
#tertiary {
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

#tertiary .widget-title {
    font-size: 1.5rem;
    padding-bottom: 1rem;
    border-bottom: 1px solid #f2f2f2;
}

/*--------------------------------------------------------------
# Navigation: Links and Buttons
--------------------------------------------------------------*/
a {
    text-decoration: none;
    color: var(--link-text-color);
}

.has-plain-text-link a { color: var(--b-font-color); }

a:hover,
.has-plain-text-link a:hover {
    color: var(--link-text-hover-color);
}

.border-grey-btn a,
.solid-matte-bronze-btn a {
    font-size: 1rem;
    font-weight: 400;
    text-align: center;
    border-radius: 3px;
    letter-spacing: 1px;
    transition: all 0.2s;
    display: inline-block;
    padding: 0.4rem 2rem;
}

.border-grey-btn.btn-has-icon a,
.solid-matte-bronze-btn.btn-has-icon a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
}

.border-grey-btn.btn-has-icon a .svg-icon,
.solid-matte-bronze-btn.btn-has-icon a .svg-icon {
    stroke: var(--white-color);
}

.border-grey-btn a {
    color: var(--cute-grey-color);
    border: 1px solid var(--cute-grey-color);
}

.border-grey-btn a:hover {
    color: var(--white-color);
    border-color: var(--matte-bronze-color);
}

.solid-matte-bronze-btn a {
    color: var(--white-color);
    background: var(--burnished-teak-color);
    border: 2px solid var(--burnished-teak-color);
}

.solid-matte-bronze-btn a:hover {
    color: var(--white-color);
    background: var(--salted-caramel-color);
    border-color: var(--salted-caramel-color);
}


/*--------------------------------------------------------------
## Breadcrumbs
--------------------------------------------------------------*/
#breadcrumbs {
    background: #f2f2f2;
}

#breadcrumbs .site-wrapper {
    padding-block: 1rem;
}

#breadcrumbs * {
    font-size: 0.75rem;
}

#breadcrumbs a,
#breadcrumbs .separator {
    color: var(--b-font-color);
}

#breadcrumbs a:hover {
    color: var(--link-text-hover-color);
}

#breadcrumbs .last {
    color: #555;
}

.rank-math-breadcrumb p {
    margin: 0;
}

/*--------------------------------------------------------------
## Main Menu
--------------------------------------------------------------*/
#navbar ul,
#navbar li {
    margin: 0;
    list-style: none;
}

#navbar .main-list-wrap > li {
    display: inline-block;
}

#navbar .main-list-wrap > li:not(:last-child) {
    margin-right: 2rem;
}

#navbar a {
    display: block;
    font-weight: 400;
    position: relative;
    font-size: var(--b-font-size);
    color: var(--nav-link-text-color);
}

#navbar .main-list-wrap > li:first-child {
    display: none;
}

#navbar .main-list-wrap > li > a {
    padding-block: 0.6rem;
}

#navbar .main-list-wrap > li:hover > a {
    color: var(--matte-bronze-color);
}

/*--------------------------------------------------------------
## Mobile Toggle Menu and Pop-up Menu Section
--------------------------------------------------------------*/
#toggle-menu {
    float: right;
    display: none;
}

#toggle-menu ul,
#toggle-menu li {
    margin: 0;
    list-style: none;
}

#toggle-menu ul {
    display: flex;
    gap: 10px;
}

#toggle-menu li,
#toggle-menu li a,
#toggle-menu li button {
    width: 45px;
    height: 45px;
    position: relative;
}

#toggle-menu li a,
#toggle-menu li button {
    padding: 0;
    border: none;
    display: block;
    cursor: pointer;
    background: none;
    border-radius: 4px;
    position: relative;
}

#toggle-menu li a,
#toggle-menu li:not(#menu-toggle) button {
    overflow: hidden;
    text-indent: 120%;
    white-space: nowrap;
}

#menu-toggle span::before,
#menu-toggle span::after {
    content: '';
}

#menu-toggle span,
#menu-toggle span::before,
#menu-toggle span::after {
    width: 22px;
    height: 3px;
    margin: auto;
    display: block;
    inset-inline: 0;
    position: absolute;
    transition: all 0.3s;
    background: var(--white-color);
}

#menu-toggle span {
    top: 0;
    bottom: 0;
}

#menu-toggle span::before {
    top: -6px;
}

#menu-toggle span::after {
    bottom: -6px;
}

#menu-toggle .mobile-btn-open span {
    background: none;
}

#menu-toggle .mobile-btn-open span::before,
#menu-toggle .mobile-btn-open span::after {
    background: var(--burnished-teak-color);
}

#menu-toggle .mobile-btn-open span::before {
    transform: rotate(-45deg) translateY(4px) translateX(-4px);
}

#menu-toggle .mobile-btn-open span::after {
    transform: rotate(45deg) translateY(-5px) translateX(-4px);
}

/*
## Mobile Navigation Section
**************************************************************/
#mobile-navigation {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100;
    overflow: auto;
    position: fixed;
    padding-top: 95px;
    background: var(--white-color);
    transform: translateY(-125%);
    transition-duration: 0.5s;
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

#mobile-menu {
    padding-inline: 1rem;
}

#mobile-menu ul,
#mobile-menu li {
    margin: 0;
    list-style: none;
}

#mobile-menu li,
#mobile-menu a {
    position: relative;
}

#mobile-menu a {
    display: block;
    color: var(--dark-space-color);
    font: var(--b-font-weight) 1rem var(--b-font-family);
}

#mobile-menu .mobile-main-list-wrap > li > a {
    padding: 1.2rem 0;
    border-bottom: 1px solid var(--matte-bronze-color);
}

#mobile-menu .mobile-main-list-wrap > li:hover > a,
#mobile-menu .mobile-main-list-wrap > li.current-menu-ancestor > a,
#mobile-menu .mobile-main-list-wrap > li.current-menu-item > a:not([href*="#"]) {
    color: var(--burnished-teak-color);
}

#mobile-menu li:hover > a {
    color: var(--deep-sea-color);
    background: #fafafa;
}

#mobile-menu-contact-info {
    padding: 2rem 1rem;
}

/*--------------------------------------------------------------
## Social Links Menu
--------------------------------------------------------------*/
.menu-social-links-menu-container ul,
.menu-social-links-menu-container li {
    margin: 0;
    list-style: none;
}

.menu-social-links-menu-container ul {
    display: flex;
    gap: 4px;
}

.menu-social-links-menu-container li a {
    width: 40px;
    height: 40px;
    display: flex;
    overflow: hidden;
    position: relative;
    white-space: nowrap;
    align-items: center;
    justify-content: center;
}

.menu-social-links-menu-container a .menu-icon {
    width: 22px;
    height: 22px;
    fill: var(--cute-grey-color);
}

.menu-social-links-menu-container li a:hover {
    color: var(--burnished-teak-color);
}

.menu-social-links-menu-container a:hover::before {
    width: 100%;
    height: 100%;
}

.menu-social-links-menu-container a:hover .menu-icon {
    fill: var(--burnished-teak-color);
}

.menu-social-links-menu-container a .menu-text {
    position: absolute;
    left: 110%;
}

/*--------------------------------------------------------------
#Pages and Posts
--------------------------------------------------------------*/
/*
## Comman Style
==============================================================*/
.col-full-cover-img,
.col-full-cover-img img {
    width: 100% !important;
    height: 100% !important;
}

.cta-has-hover-shadow:hover {
    box-shadow: 0 0 6px 0 rgba(4,36,54,.44);
}

.page-main-title, .page-main-title * { font-size: clamp(1.875rem, 1.4156rem + 2.2971vw, 3.75rem); }

.matte-bronze-second-line strong:last-child {
    color: var(--matte-bronze-color);
}

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

.scroll-down-btn {
    position: absolute;
    max-width: 70px !important;
    inset-inline: 0 !important;
    bottom: 0 !important;
    margin: auto;
}

.scroll-down-btn a {
    display: flex;
    font-size: 12px;
    line-height: 1;
    gap: 0.3rem;
    letter-spacing: 1px;
    color: #ffffff50;
    padding-bottom: 1rem;
    align-items: center;
    justify-items: center;
    flex-direction: column;
    text-transform: uppercase;
}

.scroll-down-btn a:hover{
    color: var(--cute-grey-color);
}

.scroll-down-btn .svg-icon {
    width: 16px;
    height: 35px;
    fill: #ffffff50;
}

.scroll-down-btn a:hover .svg-icon {
    fill: var(--cute-grey-color);
}

.animate-bounce {
    animation: bounce 1s infinite;
}

@keyframes bounce {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}

/*
## Homepage
==============================================================*/
.page-banner-title strong:last-child {
    color: var(--matte-bronze-color);
}

.contact-icon {
    width: 40px;
    height: 40px;
    padding: 5px;
    display: flex;
    border-radius: 4px;
    align-items: center;
    justify-content: center;
    background: var(--dark-space-color);
}

.regions-list ul {
    gap: 10px;
}

.regions-list li {
    margin: 0 !important;
    font-size: 13px !important;
    padding: 0 0.9rem !important;
    border: 1px solid var(--cute-grey-color);
}

.regions-list li:last-child {
    color: var(--burnished-teak-color) !important;
    border-color: var(--burnished-teak-color) !important;
}

.regions-list li:last-child span {
    color: var(--burnished-teak-color) !important;
}

.contact-icon .svg-icon {
    width: 16px;
    height: 16px;
    stroke: var(--burnished-teak-color);
}

.contact-icon .svg-icon.svg-fill-icon {
    stroke: none;
    fill: var(--burnished-teak-color);
}

.product-service-icon .svg-icon,
.who-we-are-icon .svg-icon {
    fill: var(--burnished-teak-color);
}

.product-service-icon .svg-icon {
    width: 28px;
    height: 28px;
}

.who-we-are-icon .svg-icon {
    width: 32px;
    height: 32px;
}

.gallery-img-cnt {
    position: relative;
}

.gallery-img-title {
    opacity: 0;
}

.gallery-img,
.gallery-img-title {
    transition: all 0.45s cubic-bezier(0.33, 1, 0.68, 1) !important;
}

.gallery-img-cnt:hover .gallery-img {
    transform: scale(1.1);
}

.gallery-img-cnt:hover .gallery-img-title {
    opacity: 1;
}

/*
## 404 Page
==============================================================*/
#page-404-search-form-cnt {
    margin-bottom: 1rem;
}

/*--------------------------------------------------------------
## Footer Area Layout
--------------------------------------------------------------*/
#footer {
    display: flex;
    font-size: 0.75rem;
    position: relative;
    flex-direction: column;
    background: var(--footer-bg-color);
}

#footer .site-wrapper {
    padding-block: 3rem;
}

#footer-columns,
#footer-columns a {
    color: #ffffff50;
}

#footer-columns a:hover {
    color: var(--burnished-teak-color);
}

#footer-columns {
    display: flex;
    gap: 2rem;
    align-items: center;
}

#footer-column-2 {
    flex-grow: 1;
    text-align: center;
}

#footer-column-3 {
    display: flex;
    gap: 1rem;
    align-items: center;
}

#text-2 .textwidget {
    white-space: nowrap;
}

#text-2 .textwidget *:last-child {
    margin: 0;
}

#footer-columns #text-2 a {
    color: var(--burnished-teak-color);
}

#footer-columns #text-2 a:hover {
    color: var(--white-color);
}

/*--------------------------------------------------------------
## Gravity and other form fields
--------------------------------------------------------------*/
input,
textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: var(--white-color);
}

input[type=checkbox] {
    -webkit-appearance: checkbox !important;
    -moz-appearance: checkbox !important;
    appearance: checkbox !important;
}

input[type=radio] {
    -webkit-appearance: radio !important;
    -moz-appearance: radio !important;
    appearance: radio !important;
}

select,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
    border-radius: 5px;
    outline: none !important;
    box-sizing: border-box !important;
    background: var(--white-color) !important;
    border: 1px solid var(--kawaii-silver);
    font-size: 400 1rem var(--b-font-family) !important;
}

select:focus,
input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
    border-color: var(--matte-bronze-color) !important;
    background: var(--white-color) !important;
}

select,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"] {
    height: 50px;
    padding: 2px 5px;
}

select,
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
textarea {
    padding-inline: 1rem !important;
}

textarea {
    padding: 1rem !important;
}

body.ie textarea {
    overflow: auto;
}

select::-ms-expand {
    display: none;
}

button,
input[type="submit"] {
    cursor: pointer;
    -webkit-border-radius: 0;
    border-radius: 0;
}

/*
## Form Placeholder text color
==============================================================*/
body .gform_wrapper select:has(option[value=""]:checked) {
    color: var(--form-field-placeholder-color);
    font-family: var(--b-font-family);
}

::-webkit-input-placeholder {
   color: var(--form-field-placeholder-color);
   font-family: var(--b-font-family);
}

:-moz-placeholder {
   color: var(--form-field-placeholder-color);
   font-family: var(--b-font-family);
   opacity: 1;
}

::-moz-placeholder {
   color: var(--form-field-placeholder-color);
   font-family: var(--b-font-family);
   opacity: 1;
}

:-ms-input-placeholder {
   color: var(--form-field-placeholder-color);
   font-family: var(--b-font-family);
}

/*
## Search Form
==============================================================*/
#page-404-headings {
    padding-top: 132px;
    position: relative;
}

#page-404-contact-form-cnt {
    max-width: 600px;
    margin-inline: auto;
}

.site-search-form {
    max-width: 300px;
    margin-inline: auto;
}

.site-search-form ul {
    display: grid;
    grid-template-columns: 1fr 80px;
    gap: 0;
}

.site-search-form input[type="search"] {
    width: 100%;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.site-search-form input[type="submit"] {
    width: 80px;
    border: none;
    height: 50px;
    text-align: center;
    color: var(--white-color);
    background: var(--black-color);
    font: 14px var(--b-font-family);
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
}

.site-search-form input[type="submit"]:hover {
    color: var(--white-color);
    background: var(--burnished-teak-color);
}

.site-search-form ul,
.site-search-form li {
    margin: 0;
    list-style: none;
}

/*
## Gravity Forms Style
==============================================================*/

body .gform_wrapper .gform_body .gform_fields .gfield textarea {
    font-family: var(--b-font-family) !important;
}

/*
## Gravity Forms - Errors
**************************************************************/
body .gform_wrapper .gform_body .gform_fields .gfield_error .validation_message {
    display: none !important;
    visibility: hidden !important;
}

body .gform_wrapper .gfield_error input,
body .gform_wrapper .gfield_error select,
body .gform_wrapper.gravity-theme .gfield_error [aria-invalid="true"] {
    border-color: var(--red-color) !important;
    background: var(--snow-red-color) !important;
}

body .gform_wrapper .gform_validation_errors,
body .gform_wrapper.gravity-theme .gform_validation_errors {
    margin: 0 !important;
    padding: 35px !important;
    border-radius: 0 !important;
}

body .gform_wrapper .gform_validation_errors,
body .gform_wrapper .gform_validation_errors:focus,
body .gform_wrapper .gform_validation_errors:hover,
body .gform_wrapper.gravity-theme .gform_validation_errors,
body .gform_wrapper.gravity-theme .gform_validation_errors:focus,
body .gform_wrapper.gravity-theme .gform_validation_errors:hover {
    outline: none !important;
    border-color: var(--red-color) !important;
}

body .gform_wrapper.gravity-theme .validation_error {
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
    text-align: left !important;
    font: 500 0.875rem / var(--b-line-height) var(--b-font-family) !important;
}

body .gform_wrapper.gravity-theme .validation_error .error-title {
    margin-bottom: 0.3125rem;
    color: var(--smooth-red-color);
    font-family: var(--b-font-family);
}

body .gform_wrapper.gravity-theme .validation_error .error-desc {
    margin: 0 !important;
}

body .gform_wrapper .gform_validation_errors > ol,
body .gform_wrapper.gravity-theme .gform_validation_errors > ol {
    margin: 0 !important;
    display: none !important;
    visibility: hidden !important;
}

body .gform_wrapper .gform_validation_errors > ol li,
body .gform_wrapper.gravity-theme .gform_validation_errors > ol li {
    list-style: decimal !important;
}

body .gform_wrapper .gform_validation_errors > ol li,
body .gform_wrapper .gform_validation_errors > ol a,
body .gform_wrapper.gravity-theme .gform_validation_errors > ol li,
body .gform_wrapper.gravity-theme .gform_validation_errors > ol a {
    font-size: 0.875rem !important;
}

body .gform_wrapper .gform_validation_errors > ol a:hover,
body .gform_wrapper .gform_validation_errors > ol a:focus,
body .gform_wrapper.gravity-theme .gform_validation_errors > ol a:hover,
body .gform_wrapper.gravity-theme .gform_validation_errors > ol a:focus {
    outline: none !important;
    color: var(--b-font-color) !important;
}

/*
## Gravity Forms - Footer
==============================================================*/
body .gform_wrapper .gform_footer {
    display: flex;
    position: relative;
    margin: 0 !important;
    flex-direction: column;
    gap: 1rem;
}

body .gform_wrapper.gravity-theme .gfield_label {
    font-size: 14px;
    font-weight: 400;
    margin-bottom: 2px;
    text-transform: uppercase;
    color: var(--matte-bronze-color);
}

/*
## Gravity Forms - Buttons (Submit etc.)
**************************************************************/
body .gform_wrapper .gform_footer button,
body .gform_wrapper .gform_footer input[type=submit],
body .gform_wrapper.gravity-theme .gform_footer button {
    margin: 0 !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 1rem 2rem !important;
    display: inline-block !important;
    color: var(--white-color) !important;
    text-transform: uppercase;
    background: var(--dark-space-color) !important;
    align-self: flex-start;
    font: var(--b-font-weight) var(--b-font-size) var(--b-font-family) !important;
}

body .gform_wrapper .gform_footer button:hover,
body .gform_wrapper .gform_footer input[type=submit]:hover,
body .gform_wrapper.gravity-theme .gform_footer button:hover {
    color: var(--white-color) !important;
    background: var(--burnished-teak-color) !important;
}

/*
## Gravity Forms - AJAX Spinner
**************************************************************/
body .gform-loader,
body .gform_wrapper.gravity-theme .gform-loader {
    overflow: hidden !important;
    position: absolute !important;
    z-index: 999;
    align-self: center;
    animation: gformLoader 1.1s infinite linear;
    block-size: 8em;
    background: rgba(21, 184, 87, 0.9);
    border-left: 4px solid var(--white-color);
    border-block-end: 1.1em solid #15b857;
    border-block-start: 1.1em solid #fff;
    border-inline-end: 1.1em solid #fff;
    border-inline-start: 1.1em solid #15b857;
    border-radius: 50%;
    display: inline-block;
    font-size: 2px;
    inline-size: 8em;
    inset: 0;
    margin: auto;
    transform: translateZ(0);
    width: 25px !important;
    height: 25px !important;
}

/*--------------------------------------------------------------
## Sprite
--------------------------------------------------------------*/
#page-404-headings::before,
#toggle-menu li a::before {
    background: url(../images/sprite@1x.webp) no-repeat;
}

@media
only screen and (-webkit-min-device-pixel-ratio: 2),
only screen and (   min--moz-device-pixel-ratio: 2),
only screen and (     -o-min-device-pixel-ratio: 2/1),
only screen and (        min-device-pixel-ratio: 2),
only screen and (                min-resolution: 192dpi),
only screen and (                min-resolution: 2dppx) {
    #page-404-headings::before,
    #toggle-menu li a::before {
        background: url(../images/sprite@2x.webp) no-repeat;
        background-size: 250px 250px;
    }
}

#page-404-headings::before,
#toggle-menu li a::before {
    content: '';
    position: absolute;
    display: inline-block;
}

#page-404-headings::before,
#toggle-menu li a::before {
    margin: auto;
}

#page-404-headings::before {
    top: 0;
    width: 100px;
    height: 100px;
    inset-inline: 0;
    background-position: 0 -150px;
}

#toggle-menu li a::before {
    inset: 0;
}

#toggle-menu li a::before {
    width: 21px;
    height: 20px;
}

#toggle-menu li#mobile-call-btn a::before {
    background-position: -102px 0;
}

/*--------------------------------------------------------------
# Media Queries
--------------------------------------------------------------*/
@media (max-width: 575px) {
    body .gform_wrapper .gform_footer button,
    body .gform_wrapper .gform_footer input[type=submit],
    body .gform_wrapper.gravity-theme .gform_footer button {
        width: 100%;
    }
}

@media (max-width: 767px) {
    .mobile-noscroll {
        overflow: hidden;
    }

    #mobile-navigation.mobile-menu-open {
        transform: translateY(0%);
    }

    .main-banner-btn a {
        display: block !important;
    }

    #header-column-1 {
        order: 1;
    }

    #header-column-2 {
        order: 3;
        justify-content: flex-end;
    }

    #header-column-3 {
        order: 2;
    }

    #navbar,
    #nav_menu-2,
    #custom_html-2 {
        display: none !important;
        visibility: hidden !important;
    }

    #toggle-menu {
        display: block;
    }

    #header-logo {
        max-width: 100px;
    }

    #custom_html-3 {
        max-width: 60px;
    }
    
    .areas-we-serve-divider {
        position: static;
    }

    #footer-columns {
        flex-direction: column;
    }

    #footer-column-1 {
        order: 1
    }

    #footer-column-2 {
        order: 3
    }

    #footer-column-3 {
        order: 2
    }
}

@media (max-width: 991px) {
    #content-area.has-sidebar,
    #content-area.has-sidebar.shop-content-area {
        grid-template-columns: 1fr;
        gap: 4rem;
    }
}

@media (min-width: 768px) and (max-width: 1099px) {
    #header-columns {
        flex-wrap: wrap;
    }

    #header-column-1,
    #header-column-3 {
        width: calc(50% - 1rem);
    }

    #header-column-1 {
        order: 1;
    }

    #header-column-2 {
        order: 3;
        width: 100%;
    }

    #header-column-3 {
        order: 2;
        display: flex;
        justify-content: flex-end;
    }
}