/*--------------------------------------------------------------
# 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;
    --powder-blue-color: #b8e2e8;
    --snow-red-color: #fef9f9;
    --deep-sea-color: #153b50;
    --bali-hai-color: #87a0Ae;
    --mountain-color: #839097;
    --cool-silver-color: #b1b9bf;
    --cute-white-color: #f1f7f9;
    --attractive-black-color: #231f20;
    --polynesian-blue-color: #1e4a62;
    --smooth-red-color: #c9111c;
    --form-field-placeholder-color: var(--mountain-color);
    
    --link-text-color: var(--deep-sea-color);
    --link-text-hover-color: var(--attractive-black-color);

    --b-line-height: 2;
    --b-font-size: 16px;
    --b-font-weight: 400;
    --b-font-color: #231f20;
    --b-font-family: "Montserrat", sans-serif;

    --secondary-font-family: "Libre Baskerville", serif;

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

    --nav-link-text-color: var(--attractive-black-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%;
}

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;
}

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;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
    line-height: 1.4 !important;
    color: var(--polynesian-blue-color);
    font-family: var(--secondary-font-family);
}

h1 { font-size: clamp(2rem, 3.5vw, 3rem); }

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;
}

.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 {
    left: 0;
    right: 0;
    top: 25px;
    z-index: 9999;
    position: fixed;
    max-width: 1072px;
    border-radius: 6px;
    margin-inline: auto;
    background: var(--header-bg-color);
    box-shadow: 3px 3px 12px 0 rgba(13,39,54,.28);
}

#header .site-wrapper {
    padding: 0.75rem 2.5rem;
}

#header-columns {
    display: grid;
    grid-template-columns: 175px 1fr;
    align-items: center;
    gap: 3rem;
}

#header-logo,
#header-logo img {
    width: 100%;
    height: auto;
    display: block;
}

/*--------------------------------------------------------------
## 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);
}

.white-solid-btn a,
.white-border-btn a,
.white-solid-round-btn a,
.white-border-round-btn a,
.deep-blue-border-round-btn a {
    font-size: 1rem;
    font-weight: 600;
    display: inline-block;
    text-align: center;
    color: var(--white-color);
    padding: 0.5625rem 2rem;
    border: 2px solid var(--white-color);
}

.white-solid-round-btn a,
.white-border-round-btn a,
.deep-blue-border-round-btn a {
    border-radius: 2rem;
}

.deep-blue-border-round-btn a {
    color: var(--polynesian-blue-color);
    border-color: var(--polynesian-blue-color);
}

.deep-blue-border-round-btn a:hover {
    color: var(--white-color);
    background: var(--polynesian-blue-color);
}

.white-solid-btn a,
.white-solid-round-btn a {
    color: var(--polynesian-blue-color);
    background: var(--white-color);
}

.btn-min-width-200 a {
    min-width: 200px;
    padding-inline: 1rem !important;
}

.white-border-btn a:hover,
.white-border-round-btn a:hover {
    color: var(--polynesian-blue-color);
    background: var(--white-color);
}

.white-solid-btn a:hover,
.white-solid-round-btn a:hover {
    color: var(--white-color);
    background: var(--polynesian-blue-color);
}

.btn-has-shadow a,
.white-border-btn.btn-has-hover-shadow a:hover,
.white-border-round-btn.btn-has-hover-shadow a:hover {
    box-shadow: 3px 3px 6px 0 rgba(4,36,54,.64);
}

.white-solid-btn.btn-has-shadow a:hover,
.white-solid-round-btn.btn-has-shadow a:hover {
    box-shadow: none;
}

/*--------------------------------------------------------------
## 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 {
    float: right;
}

#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: 500;
    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:last-child > a {
    padding-inline: 2rem;
    color: var(--white-color);
    border-radius: 2rem;
    background: var(--polynesian-blue-color);
}

#navbar .main-list-wrap > li:not(:last-child):hover > a {
    color: var(--black-color);
}

#navbar .main-list-wrap > li:last-child:hover > a {
    color: var(--white-color);
    background: var(--deep-sea-color);
}

#navbar .main-list-wrap > li:not(:last-child) > a::after {
    content: '';
    display: block;
    position: absolute;
    width: 0%;
    height: 1px;
    background: var(--deep-sea-color);
    transition: all 0.2s;
    bottom: 12px;
    left: 0;
}

#navbar .main-list-wrap > li:not(:last-child):hover > a::after {
    width: 100%;
}

/*--------------------------------------------------------------
## 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;
    background: var(--deep-sea-color);
}

#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(--water-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(--attractive-black-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(--cute-white-color);
}

/* #mobile-menu li:hover > a,
#mobile-menu li.current-menu-ancestor > a,
#mobile-menu li.current-menu-item > a:not([href*="#"]) {
    color: var(--deep-sea-color);
    background: #fafafa;
} */

#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;
    flex-wrap: wrap;
    gap: 12px;
}

.menu-social-links-menu-container li a {
    width: 40px;
    height: 40px;
    display: block;
    overflow: hidden;
    text-indent: 100%;
    position: relative;
    white-space: nowrap;
    border-radius: 50%;
    background: var(--mountain-color);
}

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

#mobile-menu-contact-info .menu-social-links-menu-container li a {
    background: var(--deep-sea-color);
}

#mobile-menu-contact-info .menu-social-links-menu-container li:hover a {
    background: var(--polynesian-blue-color);
}

/*--------------------------------------------------------------
#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); }

/*
## Homepage
==============================================================*/
.main-banner-img {
    position: absolute;
    inset: 0;
}

.main-banner-img,
.main-banner-img img {
    width: 100% !important;
    height: 100% !important;
}

.main-banner-content-cnt {
    padding: 145px 15px 145px 168px;
    position: relative !important;
}

.main-banner-graphic {
    /* opacity: 0.7; */
    /* animation: mainBannerGraphicSpin 40s linear infinite, mainBannerGraphicFloat 6s ease-in-out infinite; */
}

@keyframes mainBannerGraphicSpin {
    from { transform: rotate(0deg); }
    to { transform: rotate(360deg); }
}

@keyframes mainBannerGraphicFloat {
    0%, 100% { margin-top: 0; }
    50% { margin-top: -12px; }
}

.star-icon {
    width: 50px !important;
    height: 50px !important;
    overflow: hidden;
}



/*--------------------------------------------------------------
## Footer Area Layout
--------------------------------------------------------------*/
#footer {
    display: flex;
    min-height: 101vh;
    flex-direction: column;
    position: relative;
    color: var(--white-color);
    background: var(--footer-bg-color);
}

body:not(.home) #footer {
    background: var(--deep-sea-color);
}

#footer-columns,
#footer-columns a {
    color: var(--white-color);
}

#footer-columns a:hover {
    color: var(--cool-silver-color);
}

#footer .site-wrapper {
    bottom: 0;
    padding: 0;
    position: sticky;
    max-width: 100%;
    margin-block-start: auto;
}

#footer-copyright-cnt {
    overflow: hidden;
    position: relative;
    padding-block: 6rem 3rem;
    background: var(--deep-sea-color);
}

#footer-graphic {
    left: -30px;
    opacity: 0.5;
    bottom: -250px;
    max-width: 400px;
    position: absolute;
    pointer-events: none;
}

#footer-graphic img {
    width: 100%;
}

#footer-columns {
    display: grid;
    position: relative;
    z-index: 1;
    margin-inline: auto;
    max-width: var(--wrapper-max-width);
    padding-inline: var(--wrapper-gap-inline);
    grid-template-columns: 5fr 7fr;
    gap: 0;
}

#footer-column-1 {
    display: flex;
    grid-row: span 2;
    flex-direction: column;
    gap: 2rem;
    padding-right: 55px;
}

#footer-column-2,
#footer-column-3 {
    padding-left: 55px;
    border-left: 1px solid var(--mountain-color);
}

#footer-column-2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 50px;
}

#footer-column-3 {
    display: grid;
    position: relative;
    grid-template-columns: 5fr 7fr;
    gap: 1rem;
    align-items: flex-end;
}

#footer-column-3::before {
    content: '';
    display: block;
    position: absolute;
    background: var(--mountain-color);
    width: calc(100% - 55px);
    height: 1px;
    bottom: 70px;
    right: 0;
}

.footer-column .widget-title {
    padding-bottom: 1rem;
    margin-bottom: 2rem;
    color: var(--white-color);
    font: 1.125rem var(--secondary-font-family);
    border-bottom: 1px solid var(--mountain-color);
}

.footer-column .widget_nav_menu ul,
.footer-column .widget_nav_menu li {
    margin: 0;
    list-style: none;
}

.footer-column .widget_nav_menu :not(.menu-social-links-menu-container) ul {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#text-2 .textwidget {
    font-size: 12px;
}

#site-copyright {
    text-align: right;
}

#site-copyright p {
    margin: 0;
}

#site-copyright,
#site-copyright a {
    font-size: 0.75rem;
    color: var(--cool-silver-color);
}

#site-copyright a { display: inline-block; }

#site-copyright 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: 0;
    outline: none !important;
    box-sizing: border-box !important;
    background: var(--white-color) !important;
    border: 1px solid var(--deep-sea-color);
    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(--blue-color) !important;
    background: var(--water-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;
}

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);
}

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

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

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

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

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


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

/*
## 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);
}

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 - 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: 2rem !important;
    padding: 1rem 2rem !important;
    display: inline-block !important;
    color: var(--white-color) !important;
    background: var(--deep-sea-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(--polynesian-blue-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
--------------------------------------------------------------*/
#toggle-menu li a::before,
.menu-social-links-menu-container 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) {
    #toggle-menu li a::before,
    .menu-social-links-menu-container a::before {
        background: url(../images/sprite@2x.webp) no-repeat;
        background-size: 250px 250px;
    }
}

#toggle-menu li a::before,
.menu-social-links-menu-container a::before {
    content: '';
    position: absolute;
    display: inline-block;
}

#toggle-menu li a::before,
.menu-social-links-menu-container a::before {
    margin: auto;
}

#toggle-menu li a::before,
.menu-social-links-menu-container 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;
}

.menu-social-links-menu-container a::before {
    width: 20px;
    height: 20px;
}

.menu-social-links-menu-container li.icon-facebook a::before {
    width: 10px;
    background-position: -106px -53px;
}

.menu-social-links-menu-container li.icon-linkedin a::before {
    background-position: -57px -53px;
}

.menu-social-links-menu-container li.icon-twitter a::before {
    background-position: -122px -53px;
}

.menu-social-links-menu-container li.icon-instagram a::before {
    background-position: 0 -53px;
}

.menu-social-links-menu-container li.icon-vimeo a::before {
    width: 24px;
    background-position: -26px -53px;
}

.menu-social-links-menu-container li.icon-pinterest a::before {
    width: 17px;
    height: 21px;
    background-position: -83px -53px;
}

.menu-social-links-menu-container li.icon-youtube a::before {
    width: 21px;
    height: 14px;
    background-position: -147px -53px;
}

.menu-social-links-menu-container li.icon-email a::before {
    width: 20px;
    height: 14px;
    background-position: -154px 0;
}

.menu-social-links-menu-container li.icon-phone a::before {
    width: 21px;
    background-position: -204px 0;
}

#mobile-menu-contact-info .menu-social-links-menu-container li.icon-facebook a::before {
    background-position: -105px -27px;
}

#mobile-menu-contact-info .menu-social-links-menu-container li.icon-linkedin a::before {
    background-position: -56px -27px;
}

#mobile-menu-contact-info .menu-social-links-menu-container li.icon-twitter a::before {
    background-position: -122px -27px;
}

#mobile-menu-contact-info .menu-social-links-menu-container li.icon-instagram a::before {
    background-position: 0 -27px;
}

#mobile-menu-contact-info .menu-social-links-menu-container li.icon-vimeo a::before {
    background-position: -26px -27px;
}

#mobile-menu-contact-info .menu-social-links-menu-container li.icon-pinterest a::before {
    background-position: -82px -27px;
}

#mobile-menu-contact-info .menu-social-links-menu-container li.icon-youtube a::before {
    background-position: -146px -26px;
}

#mobile-menu-contact-info .menu-social-links-menu-container li.icon-email a::before {
    background-position: -129px 0;
}

#mobile-menu-contact-info .menu-social-links-menu-container li.icon-phone a::before {
    width: 20px;
    background-position: -179px 0;
}

/*--------------------------------------------------------------
# Media Queries
--------------------------------------------------------------*/
@media (max-width: 575px) {
    .main-banner-content-cnt {
        max-width: 100%;
        padding-inline: 25px !important;
    }

    #footer-column-2 {
        grid-template-columns: repeat(1, 1fr);
    }

    body .gform_wrapper .gform_footer button,
    body .gform_wrapper .gform_footer input[type=submit],
    body .gform_wrapper.gravity-theme .gform_footer button {
        width: 100% !important;
        display: block !important;
    }
}

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

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

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

    #header {
        top: 15px;
    }

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

    #header-columns {
        grid-template-columns: 120px 1fr;
        gap: 1rem;
    }

    #navbar {
        display: none !important;
        visibility: hidden !important;
    }

    #toggle-menu {
        display: block;
    }

    #footer-columns {
        gap: 50px;
        grid-template-columns: 1fr;
    }

    #footer-column-1 {
        padding-right: 0;
    }

    #footer-column-2,
    #footer-column-3 {
        border: none;
        padding-left: 0;
    }

    #footer-column-2 {
        gap: 30px;
    }

    #footer-column-3 {
        padding-top: 50px;
        justify-items: center;
    }

    #footer-column-3::before {
        width: 100%;
        top: 0 !important;
    }
}

@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: 1024px) {
    #header .site-wrapper {
        padding-inline: 1.5rem;
    }

    #header-columns {
        grid-template-columns: 120px 1fr;
        gap: 1rem;
    }

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

    #navbar .main-list-wrap > li > a {
        font-size: 0.8125rem;
    }

    .main-banner-img img {
        object-position: center 25% !important;
    }

    #footer-column-1 { padding-right: 30px; }

    #footer-column-2, #footer-column-3 { padding-left: 30px; }

    #footer-column-2 {
        grid-template-columns: repeat(2, 1fr);
        gap: 30px;
    }

    #footer-column-3 {
        padding-top: 4rem;
    }

    #footer-column-3::before {
        top: 2rem;
        bottom: inherit;
        width: calc(100% - 30px);
    }
}

@media (max-width: 1024px) {
    #header {
        left: 15px;
        width: 100%;
        right: initial;
        max-width: calc(100vw - 30px);
    }

    .main-banner-content-cnt {
        max-width: 100%;
        padding: 110px 35px;
    }

    #footer-column-3 {
        grid-template-columns: repeat(1, 1fr);
    }

    #site-copyright {
        text-align: initial;
    }
}

@media (min-width: 1025px) and (max-width: 1199px) {
    .main-banner-content-cnt {
        max-width: calc(100% - 100px);
    }
}

@media (min-width: 1200px) and (max-width: 1999px) {
    .main-banner-content-cnt {
        max-width: calc(100% - 190px);
    }
}

@media (min-width: 1025px) and (max-width: 1999px) {
    .main-banner-content-cnt {
        padding-inline: 0;
        margin-inline: auto;
    }
}