/* ==========================================================================
   allpartytents.com -- Helix Ultimate Custom Stylesheet
   Matches Helix 3 reference site (https://allpartytents.com/)
   Primary Blue: #008ca3 | Gold Accent: #e2c361
   ========================================================================== */

/* Typography Imports */
@import url('https://fonts.googleapis.com/css?family=Arizonia|Old+Standard+TT:400,700|Oswald:300,400,700&subset=latin,latin-ext');

/* Container width parity */
@media (min-width: 1200px) {
    .container, .sppb-row-container {
        max-width: 1140px !important;
    }
}

/* Global Typography & Elements */
body {
    font-family: 'Oswald', sans-serif !important;
    font-size: 18px !important;
    font-weight: 300 !important;
    color: #333333;
}

h1 {
    font-family: 'Arizonia', cursive, sans-serif !important;
    font-size: 60px !important;
    font-weight: normal !important;
    color: #4b4b4b;
}

h1 {
    font-family: 'Arizonia', cursive, sans-serif !important;
    font-size: 60px !important;
    color: #4b4b4b !important;
    text-align: center;
    margin-bottom: 10px;
    font-weight: normal !important;
}

h1.sppb-addon-title {
    font-family: 'Arizonia', cursive, sans-serif !important;
    font-size: 60px !important;
    font-weight: normal !important;
}

h2 {
    font-family: 'Old Standard TT', serif, sans-serif !important;
    font-size: 28px !important;
    font-weight: normal !important;
}

h3 {
    font-family: 'Old Standard TT', serif, sans-serif !important;
    font-size: 24px !important;
    font-weight: normal !important;
}

h4, h5, h6 {
    font-family: 'Oswald', sans-serif !important;
    font-weight: 300 !important;
}

h2, h3, .sppb-addon-title, .sppb-title-heading {
    font-family: 'Old Standard TT', serif !important;
    letter-spacing: 0.5px;
}

a {
    color: #008ca3;
    text-decoration: none;
}

a:hover {
    color: #006070;
}

/* ==========================================================================
   Top Bar
   ========================================================================== */
#sp-top-bar {
    background-color: #008ca3 !important;
    border-bottom: solid #e2c361 5px !important;
    padding: 8px 0 !important;
    color: #ffffff !important;
}

#sp-top-bar a,
#sp-top2 a {
    color: #ffffff !important;
    text-decoration: none;
}

#sp-top-bar a:hover,
#sp-top2 a:hover {
    color: #e2c361 !important;
}

ul.social-icons > li a {
    color: #008ca3;
}

#sp-top-bar .sp-contact-info {
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-flex;
    align-items: center;
    gap: 20px;
}

#sp-top-bar .sp-contact-info li,
#sp-top-bar .sp-contact-info a {
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 14px !important;
    font-weight: 300;
}

/* Language icon for 'Se habla español' */
.fa-clock-o:before {
    content: "\f1ab" !important;
}

.sp-contact-time span {
    font-family: "Font Awesome 6 Free" !important;
    font-weight: 900 !important;
}

.sp-contact-time span:before {
    content: "\f1ab" !important;
}

/* ==========================================================================
   Header & Megamenu
   ========================================================================== */
#sp-header {
    background-color: #ffffff !important;
    border-bottom: solid 3px #008ca3 !important;
    height: 90px !important;
    padding: 0 !important;
    overflow: visible !important;
}

#sp-header .container,
#sp-header .container-inner,
#sp-header .row {
    height: 90px !important;
    overflow: visible !important;
}

#sp-header .logo {
    display: flex;
    align-items: center;
    height: 90px;
    overflow: visible !important;
}

#sp-header .logo a {
    overflow: visible !important;
    display: block;
}

#sp-header .logo a img {
    height: 90px;
    max-height: 95px;
    width: auto;
    position: relative;
    top: 5px;
    z-index: 20;
}

#sp-menu {
    height: 90px;
}

#sp-menu .sp-column {
    height: 90px;
}

.sp-megamenu-wrapper {
    height: 90px !important;
    display: flex !important;
    align-items: center !important;
}

ul.sp-megamenu-parent {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-end !important;
    height: 90px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

ul.sp-megamenu-parent > li {
    display: inline-flex !important;
    align-items: center !important;
    height: 90px !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative !important;
}

ul.sp-megamenu-parent > li > a,
ul.sp-megamenu-parent > li > span {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 90px !important;
    line-height: 90px !important;
    padding: 0 16px !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    color: #000000 !important;
    border-radius: 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: background-color 0.15s ease, color 0.15s ease;
}

ul.sp-megamenu-parent > li.active > a,
ul.sp-megamenu-parent > li:hover > a {
    background-color: #008ca3 !important;
    color: #ffffff !important;
    font-weight: bold !important;
    border-radius: 0 !important;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a {
    font-family: 'Oswald', sans-serif !important;
    font-size: 14px;
    text-transform: uppercase;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a:hover,
.sp-megamenu-parent .sp-dropdown li.sp-menu-item.active > a {
    background-color: #008ca3 !important;
    color: #ffffff !important;
}

/* Offcanvas / Mobile Menu */
.offcanvas-menu {
    font-family: 'Oswald', sans-serif;
}

.offcanvas-menu .mod-menu > li > a {
    font-family: 'Oswald', sans-serif !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 12px 20px !important;
    color: #333333 !important;
}

.offcanvas-menu .mod-menu > li.active > a,
.offcanvas-menu .mod-menu > li > a:hover {
    background-color: #008ca3 !important;
    color: #ffffff !important;
}

.burger-icon > span {
    background-color: #008ca3 !important;
}

#offcanvas-toggler > i {
    color: #000000;
}

#offcanvas-toggler > i:hover {
    color: #008ca3;
}

/* ==========================================================================
   Bottom Modules Section
   ========================================================================== */
#sp-bottom {
    background-color: #f5f5f5 !important;
    padding: 100px 0px !important;
    border-top: 1px solid #e2e2e2;
}

#sp-bottom .sp-module .sp-module-title {
    color: #333333 !important;
    font-family: 'Old Standard TT', sans-serif, serif !important;
    font-size: 24px !important;
    font-weight: normal !important;
    text-transform: none !important;
    margin-bottom: 20px;
}

#sp-bottom ul {
    list-style: none;
    padding-left: 0;
    margin: 0;
}

#sp-bottom ul li {
    padding: 4px 0;
}

#sp-bottom a {
    color: #008ca3;
    text-decoration: none;
    font-size: 15px;
}

#sp-bottom a:hover {
    color: #005566;
    text-decoration: underline;
}

/* ==========================================================================
   Footer
   ========================================================================== */
#sp-footer {
    background: #008ca3 !important;
    background-color: #008ca3 !important;
    border-top: solid 5px #e2c361 !important;
    color: #ffffff !important;
    text-align: center !important;
    padding: 20px 0 !important;
}

#sp-footer .sp-copyright,
#sp-footer .sp-copyright a {
    color: #ffffff !important;
    font-family: 'Oswald', sans-serif !important;
    font-size: 14px !important;
    font-weight: 300;
}

#sp-footer .sp-copyright a {
    text-decoration: underline;
}

#sp-footer .sp-copyright a:hover {
    color: #e2c361 !important;
}

/* ==========================================================================
   Components & SP Page Builder Overrides
   ========================================================================== */
.sppb-item.sppb-item-has-bg .sppb-carousel-item-inner > div > div {
    display: table-cell;
    vertical-align: top;
}	

.btn-primary,
.sppb-btn-primary {
    border-color: #f0f0f0 !important;
    background-color: #008ca3 !important;
    color: #ffffff !important;
}

.btn-primary:hover,
.sppb-btn-primary:hover {
    border-color: #f0f0f0 !important;
    background-color: #006070 !important;
    color: #ffffff !important;
}

/* ==========================================================================
   Contact Form Elements
   ========================================================================== */
.contact-address {
    font-size: 16px;
}

input[type="text"], input[type="email"] {
    width: 75%;
}

textarea {
    width: 75%;
    height: 150px;
}

hr {
    border-top: 1px solid #00394f;
}

.control-group {
    margin-bottom: 16px;
    padding-top: 20px;
}

/* pro forms fix recaptcha field */
#proformsCaptcha .alignInput input {
    color: #000000 !important;
}


/* ==========================================================================
   STAGING MATCH-LIVE OVERRIDES (Infyways, 2026-10-30) - matches allpartytents.com (Helix3)
   ========================================================================== */
body { color: #212529; line-height: 24px; }
p { line-height: 24px; }
h1, h2, h3, .sppb-addon-title, .sppb-title-heading, #sp-bottom .sp-module .sp-module-title { letter-spacing: normal !important; }
h1, h1.sppb-addon-title { margin-bottom: 8px !important; }
#sp-bottom, #sp-bottom h3, #sp-bottom p { color: #212529 !important; }
ul.sp-megamenu-parent > li > a { font-weight: 300 !important; }
ul.sp-megamenu-parent > li.active > a, ul.sp-megamenu-parent > li:hover > a { font-weight: bold !important; }
h2 { font-size: 36px !important; }
h3, .sppb-addon-title { color: #212529; }
/* image addon titles (tent sizes, rentals) are serif 24px on live, not script */
.sppb-addon-single-image h3.sppb-addon-title {
    font-family: 'Old Standard TT', serif !important; font-size: 24px !important; line-height: 28.8px !important;
    color: #212529 !important; margin: 0 0 8px !important;
}
.sppb-btn { margin-top: 30px; }

/* top bar: live sizes, icons */
#sp-top-bar { font-size: 18px; line-height: 24px; }
#sp-top-bar .sp-contact-info li, #sp-top-bar .sp-contact-info a { font-size: 16.2px !important; }
#sp-top-bar .sp-contact-info li > span { font-size: 16.2px; margin: 0 3px; }
#sp-top-bar .sp-contact-email span { font-weight: 900; }
@media (max-width: 991.98px) {
    #sp-top-bar .sp-contact-info { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 20px; }
}

/* header: 175px logo hanging below the bar like live (desktop); 90px on mobile */
@media (min-width: 992px) {
    #sp-header .logo a img { height: 175px !important; max-height: none !important; width: 175px; top: 0; position: relative; margin-top: 85px; }
}
@media (max-width: 991.98px) {
    #sp-header .logo a img { height: 90px !important; max-height: 90px !important; top: 0; }
    /* menu list must stay hidden on mobile (custom flex rule was overriding d-none) */
    ul.sp-megamenu-parent { display: none !important; }
    #offcanvas-toggler { display: flex !important; height: 90px; align-items: center; }
    #offcanvas-toggler .burger-icon > span { background-color: #000 !important; }
}
/* nav: no letter spacing (design rule) */
ul.sp-megamenu-parent > li > a, ul.sp-megamenu-parent > li > span,
.offcanvas-menu .mod-menu > li > a { letter-spacing: 0 !important; }
/* burger -> X when the menu is open */
.burger-icon > span { transition: transform .2s ease, opacity .2s ease; }
body.offcanvas-active #offcanvas-toggler .burger-icon > span:nth-child(1),
.close-offcanvas .burger-icon > span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
body.offcanvas-active #offcanvas-toggler .burger-icon > span:nth-child(2),
.close-offcanvas .burger-icon > span:nth-child(2) { opacity: 0; }
body.offcanvas-active #offcanvas-toggler .burger-icon > span:nth-child(3),
.close-offcanvas .burger-icon > span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* bottom + footer sizes as live */
#sp-bottom { font-size: 18px; line-height: 24px; }
#sp-bottom p, #sp-bottom a { font-size: 18px; line-height: 24px; }
#sp-bottom .sp-module .sp-module-title { line-height: 24px; }
#sp-footer { font-size: 18px; line-height: 24px; padding: 20px 0 !important; }
#sp-footer .sp-copyright, #sp-footer .sp-copyright a { font-size: 18px !important; line-height: 24px; }
#sp-footer .row, #sp-footer .container, #sp-footer .container-inner { margin-bottom: 0; padding-bottom: 0; }

/* contact page: grey well, centred 8-col fieldset like live */
.com-contact > h2, .com-contact > .page-header h2 { font-size: 24px !important; }
.com-contact .contact-form form.well { background: #f7f7f7; padding: 20px; margin-bottom: 20px; }
.com-contact .contact-form fieldset { width: 66.666%; margin: 0 auto !important; }
.com-contact .contact-form input.form-control { max-width: 75%; font-size: 14px; }
.com-contact .contact-form textarea.form-control { max-width: 75%; }
@media (max-width: 767.98px) { .com-contact .contact-form fieldset { width: 100%; } .com-contact .contact-form input.form-control, .com-contact .contact-form textarea.form-control { max-width: 100%; } }

/* get-a-quote (Convert Forms) heading sizes as live */
.convertforms h1.cf-heading, .convertforms h1 { font-family: 'Old Standard TT', serif !important; font-size: 24px !important; line-height: 28px !important; color: #333 !important; margin: 0 0 8px !important; }
.convertforms h2.cf-heading, .convertforms h2 { font-family: Arial, sans-serif !important; font-size: 14px !important; line-height: 22px !important; letter-spacing: normal !important; }

/* design rules: no shadows, no black focus outline on inputs */
.sppb-addon, .sppb-btn, .card, .offcanvas-menu, .sp-dropdown, .well, .form-control, input, textarea, select { box-shadow: none !important; }
input:focus, textarea:focus, select:focus, .form-control:focus { outline: none !important; box-shadow: none !important; border-color: #008ca3 !important; }

/* skeleton while images load */
@keyframes apt-shimmer { 0% { background-position: -400px 0; } 100% { background-position: 400px 0; } }
.sppb-addon-single-image img:not([src$=".png"]), .sppb-gallery img:not([src$=".png"]) {
    background: #EEF1F5 linear-gradient(90deg, #EEF1F5 0, #F7F9FB 50%, #EEF1F5 100%) no-repeat; background-size: 800px 100%;
    animation: apt-shimmer 1.2s linear infinite;
}
@media (prefers-reduced-motion: reduce) { .sppb-addon-single-image img:not([src$=".png"]), .sppb-gallery img:not([src$=".png"]) { animation: none; } }
#sp-footer .container-inner { padding: 0 !important; border: 0 !important; }
/* CTA "Free estimates" (parallax banner) spacing: balanced padding, no double top gap */
.sppb-addon-cta { padding: 60px 15px !important; }
.sppb-addon-cta .sppb-cta-title { margin: 0 0 10px !important; }
.sppb-addon-cta .sppb-btn { margin-top: 20px !important; }
@media (max-width: 767px) {
  .sppb-addon-cta { padding: 40px 15px !important; }
  .sppb-addon-cta .sppb-cta-title { font-size: 28px !important; line-height: 36px !important; }
  .sppb-addon-cta .sppb-btn { font-size: 16px !important; line-height: 24px !important; }
}
