/*
 * Eventum - Eventum Premium Event Theme.
 * File Description: The main stylesheet of this theme for main design part.
 * Author: Themeum
 * Website: http://www.themeum.com/
 * Support: support@themeum.com
 */


/*=======================================*
 *=======   TABLE OF CONTENT   ========*
*=======================================*

1. Footer
2. 404 Page
3. Contact Us
4. Coming Soon
5. Main Menu

=======================================*/

body #qLoverlay {
    background-color: #fff;
    position: fixed;
    z-index: 666999;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

body {
    line-height: 25px;
}


/*=================================
 *=======   Button   ======
 *================================= */

.no-padding {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

h4 {
    line-height: 24px;
}

a:focus,
a:hover {
    text-decoration: inherit;
}

.btn-style {
    padding: 0;
    font-weight: bold;
    font-size: 16px;
    margin-top: 15px;
}

.wrap-btn-style {
    border-top: 1px solid #dfdfdf;
    margin-top: 20px;
}

/* =================================
 * Unified button system
 * One primary + one secondary across the site. Normalizes the
 * WPBakery vc_btn3 colour rainbow (chino/orange/grey/inverse/purple)
 * and the nobo-core CTA into a single, accessible language.
 * !important is used deliberately to override the js_composer
 * page-builder CSS regardless of stylesheet load order.
 * ================================= */
:root {
    --nobo-btn-primary: var(--color-action);
    --nobo-btn-primary-hover: var(--color-action-hover);
    --nobo-btn-on-primary: var(--color-on-action);
    --nobo-btn-radius: var(--radius-pill);
}

/* Primary: all vc_btn3 buttons by default, plus the nobo-core CTA */
.vc_btn3.vc_btn3-color-chino,
.vc_btn3.vc_btn3-color-orange,
.vc_btn3.vc_btn3-color-purple,
.vc_btn3.vc_btn3-color-pink,
.vc_btn3.vc_btn3-color-juicy-pink,
.vc_btn3.vc_btn3-color-sky,
.vc_btn3.vc_btn3-color-green,
.vc_btn3.vc_btn3-color-turquoise,
.vc_btn3.vc_btn3-color-black,
.vc_btn3:not(.vc_btn3-color-grey):not(.vc_btn3-color-inverse):not(.vc_btn3-style-outline),
.nobo-homepage-interactivity__button,
a.themeum_button_shortcode.thm-color,
.btn-success {
    background-color: var(--nobo-btn-primary) !important;
    background-image: none !important;
    border: 2px solid var(--nobo-btn-primary) !important;
    color: var(--nobo-btn-on-primary) !important;
    border-radius: var(--nobo-btn-radius) !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: background-color var(--motion-fast) var(--ease-expressive), border-color var(--motion-fast) var(--ease-expressive);
}

.vc_btn3.vc_btn3-color-chino:hover,
.vc_btn3.vc_btn3-color-chino:focus-visible,
.vc_btn3.vc_btn3-color-orange:hover,
.vc_btn3.vc_btn3-color-orange:focus-visible,
.vc_btn3.vc_btn3-color-purple:hover,
.vc_btn3.vc_btn3-color-purple:focus-visible,
.vc_btn3:not(.vc_btn3-color-grey):not(.vc_btn3-color-inverse):not(.vc_btn3-style-outline):hover,
.vc_btn3:not(.vc_btn3-color-grey):not(.vc_btn3-color-inverse):not(.vc_btn3-style-outline):focus-visible,
.nobo-homepage-interactivity__button:hover,
.nobo-homepage-interactivity__button:focus-visible,
a.themeum_button_shortcode.thm-color:hover,
a.themeum_button_shortcode.thm-color:focus-visible,
.btn-success:hover,
.btn-success:focus-visible {
    background-color: var(--nobo-btn-primary-hover) !important;
    border-color: var(--nobo-btn-primary-hover) !important;
    color: var(--nobo-btn-on-primary) !important;
}

/* Secondary (ghost): grey / inverse / outline variants */
.vc_btn3.vc_btn3-color-grey,
.vc_btn3.vc_btn3-color-inverse,
.vc_btn3.vc_btn3-style-outline {
    background-color: transparent !important;
    background-image: none !important;
    border: 2px solid var(--nobo-btn-primary) !important;
    color: var(--nobo-btn-primary) !important;
    border-radius: var(--nobo-btn-radius) !important;
    font-weight: 700 !important;
    box-shadow: none !important;
    text-shadow: none !important;
    transition: background-color var(--motion-fast) var(--ease-expressive), color var(--motion-fast) var(--ease-expressive);
}

.vc_btn3.vc_btn3-color-grey:hover,
.vc_btn3.vc_btn3-color-grey:focus-visible,
.vc_btn3.vc_btn3-color-inverse:hover,
.vc_btn3.vc_btn3-color-inverse:focus-visible,
.vc_btn3.vc_btn3-style-outline:hover,
.vc_btn3.vc_btn3-style-outline:focus-visible {
    background-color: var(--nobo-btn-primary) !important;
    color: var(--nobo-btn-on-primary) !important;
}

/* Keyboard focus ring for all unified buttons */
.vc_btn3:focus-visible,
.nobo-homepage-interactivity__button:focus-visible,
.btn-success:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}


/* input field */

input[type="text"],
input[type="email"],
textarea {
    padding: 10px 15px;
    border: 1px solid #eee;
    border-radius: 4px;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
    width: 100%;
}

.wpcf7-form textarea {
    height: 100px;
}

.wpcf7-form .onepage-email textarea {
    height: 160px;
}

.wpcf7-form .onepage-email input[type="text"],
.wpcf7-form .onepage-email input[type="email"] {
    height: 52px;
}

.wpcf7-form-control.wpcf7-submit {
    padding: 10px 25px;
    border: none;
    font-weight: 500;
    border-radius: 4px;
    transition: background-color var(--motion-base) var(--ease-standard),
        color var(--motion-base) var(--ease-standard);
}

.onepage-email .wpcf7-form-control.wpcf7-submit {
    margin-top: 30px;
}

.tp-caption.Gym-Button a.btn-white,
.tp-caption.rev-btn a.btn-white,
.tp-caption.Gym-Button-Light a.btn-white,
.Gym-Button-Light a.btn-white {
    color: #fff;
}

.tp-caption.Gym-Button-Light,
.Gym-Button-Light {
    background: none !important;
}


/*=========================================
 *=======     Boxwidth       ============
 *=======================================*/

.boxwidth {
    position: relative;
    max-width: 1240px;
    background: #fff;
    margin: 0 auto;
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.boxwidth #masthead.sticky {
    max-width: 1240px;
    top: 0;
}


/*=========================================
 *=======     Navigation       ============
 *=======================================*/

.navbar-header {
    margin-bottom: 0;
}

#navigation .navbar-brand {
    height: 0;
    padding: 0;
    margin: 12px 0 0;
}

#navigation .navbar-nav {
    float: right;
}

#navigation a.navbar-brand h1 {
    margin: 0;
    font-size: 38px;
    color: white;
}

.admin-bar #masthead.sticky {
    top: 32px;
}

#navigation .navbar-header .navbar-toggle {
    margin: 12px 0 0;
    border: none;
    box-shadow: none;
    -webkit-box-shadow: none;
    background: none;
}

.navbar-toggle .icon-bar {
    background-color: #fff;
    transition: 300ms;
    -webkit-transition: 300ms;
}

#navigation .navbar-header .navbar-toggle:hover,
#navigation .navbar-header .navbar-toggle:focus {
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
}

#main-menu {
    position: inherit;
}

#main-menu .nav {
    list-style: none;
    padding: 0;
    margin: 0;
    z-index: 9;
    display: block;
    float: right;
}

#main-menu .nav>li {
    display: inline-block;
    position: relative;
    padding: 0;
    height: 64px;
    line-height: 64px;
    float: left;
}

#main-menu .nav>li>a {
    display: inline-block;
    line-height: 34px;
    height: 34px;
    padding: 0 15px;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    color: #fff;
    -webkit-transition: 300ms;
    transition: 300ms;
}

#main-menu .nav>li.ticket-menu a {
    background-color: #FF8A00;
    border-radius: 3px;
    line-height: 36px;
    margin-left: 25px;
    transition: 300ms;
    -webkit-transition: 300ms;
}

#main-menu .nav>li.ticket-menu a:hover,
#main-menu .nav>li.ticket-menu a:focus {
    background-color: #D67400;
    color: rgba(255, 255, 255, .8);
}

#main-menu .nav>li.fixed-menu {
    margin-left: 20px;
}

#main-menu .nav>li>a:hover,
#main-menu .nav>li>a:focus {
    background-color: transparent;
}

#main-menu .nav>li.active>a {
    font-weight: bold;
}

/* Dropdown chevron is provided via ::before in assets/css/tokens.css.
   The old ::after chevron was removed here because it collided with the
   gold underline ::after pseudo-element on parent items (double arrow). */

.page-template-homepage-transparent-php #masthead.sticky #main-menu .nav>li.fixed-menu>a {
    color: #fff;
}

#main-menu .nav>li>ul {
    padding: 0px 0 0;
}

#main-menu .nav>li ul {
    text-align: left;
    position: absolute;
    left: 0;
    list-style: none;
    margin: 0;
    width: 220px;
    display: none;
    z-index: 999999;
    color: #fff;
    background-color: #29333f;
}

#main-menu .nav>li.fixed-menu a {
    color: #fff;
    line-height: 36px;
    border-radius: 4px;
    transition: background-color var(--motion-base) var(--ease-standard),
        color var(--motion-base) var(--ease-standard);
}

#main-menu .nav>li.fixed-menu a:hover {
    color: #fff;
}

#main-menu .nav>li:hover>ul {
    display: block;
    -webkit-animation: fadeIn 300ms;
    animation: fadeIn 300ms;
}

#main-menu .nav>li>ul li a {
    display: block;
    line-height: normal;
    padding: 15px 20px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    font-size: 13px;
    color: #fff;
    text-transform: uppercase;
    transition: 300ms;
    -webkit-transition: 300ms;
}

#main-menu .nav>li>ul li>div {
    padding: 0 20px 10px;
    font-size: 13px;
}

#main-menu .sub-menu li.active {
    background: #736356;
}

#main-menu .nav>li>ul li a:hover {
    color: #fff;
    text-decoration: none;
}

#main-menu .nav>li>ul {
    transition: 300ms;
    -webkit-transition: 300ms;
}

#main-menu .nav>li>ul li {
    transition: 300ms;
    -webkit-transition: 300ms;
}

#main-menu .nav>li>ul li {
    position: relative;
    transiton: 300ms;
    -webkit-transiton: 300ms;
    -moz-transiton: 300ms;
}

#main-menu .nav>li>ul>li.menu-item-has-children {
    position: relative;
}

#main-menu .nav>li>ul>li.menu-item-has-children:after {
    position: absolute;
    content: "\f105";
    right: 15px;
    top: -12px;
    color: #fff;
    font-size: 16px;
    font-family: FontAwesome;
}

#main-menu .nav>li>ul li>ul {
    display: none;
    position: absolute;
    top: 0;
    left: 221px;
    padding: 0;
}

#main-menu .nav>li>ul li:hover>ul {
    display: block;
    -webkit-animation: fadeIn 300ms;
    animation: fadeIn 300ms;
}


/*============   Megamenu  ==============*/

#main-menu .nav>li.has-megasub {
    position: inherit;
}

#main-menu .nav>li.has-megasub>ul.megamenu {
    padding: 42px 30px;
    width: 100%;
}

#main-menu .nav>li.has-megasub>ul.megamenu>li {
    float: left;
    padding: 0 15px;
}

#main-menu .nav>li.has-megasub>ul.megamenu>li a {
    padding: 15px 0;
}

#main-menu .nav>li.has-megasub>ul.megamenu.megacol-4>li {
    width: 25%;
}

#main-menu .nav>li.has-megasub>ul.megamenu.megacol-3>li {
    width: 33%;
}

#main-menu .nav>li.has-megasub>ul.megamenu.megacol-2>li {
    width: 50%;
}

#main-menu .nav>li.has-megasub>ul.megamenu.megacol-1>li {
    width: 100%;
}


/*===========   Mobile Menu   ===========*/

#mobile-menu {
    position: absolute;
    top: 61px;
    width: 100%;
    z-index: 9;
    right: 0;
    z-index: 999;
}

.admin-bar #mobile-menu {
    top: 71px;
}

#navigation #mobile-menu .navbar-nav {
    float: none;
}

#navigation #mobile-menu .navbar-nav {
    margin: 0;
    background-color: #29333f;
}

#mobile-menu .navbar-collapse {
    padding-right: 0;
    padding-left: 0;
    border: 0;
}

#mobile-menu .navbar-nav {
    margin-top: 0;
    margin-bottom: 0;
}

.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
    border-top: 0 !important;
}

#mobile-menu ul {
    list-style: none;
    padding-top: 10px;
    padding-bottom: 10px;
}

#mobile-menu ul li a {
    padding-top: 10px;
    padding-bottom: 10px;
    color: #ccc;
    display: block;
}

#mobile-menu ul li:hover>a,
#mobile-menu ul li.active>a {
    color: #fff;
}

#mobile-menu ul ul {
    padding-left: 60px;
    padding-top: 20px;
    padding-bottom: 20px;
}

#mobile-menu ul li span.menu-toggler {
    display: inline-block;
    width: 34px;
    cursor: pointer;
    color: #fff;
    height: 34px;
    line-height: 34px;
    text-align: center;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 99;
}

#mobile-menu ul li:hover .menu-toggler {
    color: #fff;
}

#mobile-menu ul li span.menu-toggler i {
    display: block;
    line-height: 34px;
}

#mobile-menu ul li span.menu-toggler .fa-angle-right,
#mobile-menu ul li span.menu-toggler.collapsed .fa-angle-down {
    display: none;
}

#mobile-menu ul li span.menu-toggler .fa-angle-down,
#mobile-menu ul li span.menu-toggler.collapsed .fa-angle-right {
    display: block;
}

#navigation #mobile-menu .navbar-nav>li>a:focus,
#navigation #mobile-menu .navbar-nav>li>a:hover {
    background-color: transparent;
}

@media only screen and (max-width: 768px) {
    #masthead.sticky {
        position: inherit !important;
    }
}

#main-menu ul.sub-menu li>a {
    font-weight: 400!important;
}

#navigation .navbar-header .navbar-toggle:hover,
#navigation .navbar-header .navbar-toggle:focus {
    background-color: transparent;
}

.navbar-toggle:hover .icon-bar {
    background: #4bb463;
}


/*=================================
 *=======    Homepage    ======
 *================================= */

.page-template-homepage .site-header.transparent,
.page-template-default .site-header.transparent {
    position: absolute;
    z-index: 1;
    width: 100%;
    background-color: transparent;
    top: 20px;
}

.page-template-default .site-header.transparent #main-menu .nav>li>a {
    color: #333;
}

.page-template-default .site-header.transparent.sticky #main-menu .nav>li>a {
    color: #fff;
}

.admin-bar.page-template-homepage .site-header.transparent,
.admin-bar.page-template-default .site-header.transparent {
    top: 52px;
}

/* Legible cream nav over the hero scrim (transparent header, not yet sticky) */
.page-template-homepage .site-header.transparent:not(.sticky) #main-menu .nav>li>a,
.page-template-homepage .site-header.transparent:not(.sticky) .navbar-brand {
    color: var(--color-sand);
    text-shadow: 0 1px 4px rgba(42, 23, 18, 0.5);
}

.page-template-homepage .site-header.transparent:not(.sticky) #main-menu .nav>li>a:hover,
.page-template-homepage .site-header.transparent:not(.sticky) #main-menu .nav>li>a:focus,
.page-template-homepage .site-header.transparent:not(.sticky) #main-menu .nav>li.current-menu-item>a {
    color: var(--color-gold-400);
}


/*=================================
 *=======    3. Sub Title    ======
 *================================= */

.sub-title {
    text-align: center;
}

.sub-title h2 {
    margin: 0;
    padding: 0;
    color: #000000;
    font-size: 48px;
    line-height: 1;
    font-weight: bold;
}

.sub-title .breadcrumb {
    color: #000000;
    padding: 0;
    margin: 10px 0 0 0;
    font-size: 16px;
    list-style: none;
    background: none;
    text-transform: uppercase;
}

.sub-title .breadcrumb>li>a {
    color: #000000;
}

.sub-title .breadcrumb>.active {
    color: rgba(0, 0, 0, 0.8);
}


/*=================================
 *=======    Visual Composer Core    ======
 *================================= */

.wpb_row,
.wpb_wrapper .wpb_content_element,
ul.wpb_thumbnails-fluid>li,
.wpb_button {
    margin-bottom: 30px;
}


/*=================================
 *=======    Countdown Timer    ======
 *================================= */

#countdown-timer {
    font-weight: 700;
    margin: 0 -30px;
    display: inline-block;
}

#countdown-timer>.countdown-section {
    display: block;
    float: left;
    font-size: 62px;
    line-height: 1;
    color: #fff;
    letter-spacing: 3px;
    margin: 0 30px;
}

#countdown-timer .countdown-amount {
    font-family: var(--font-family-display);
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
}

#countdown-timer>span.timer-day {
    /* color: #fff200; */
    color: #fff;
}

#countdown-timer>span.timer-hour {
    /* color: #ff8a00; */
    color: #fff;
}

#countdown-timer>span.timer-minute {
    /* color: #00b9ff; */
    color: #fff;
}

#countdown-timer>span.timer-second {
    /* color: #8dc63f; */
    color: #fff;
}

#countdown-timer>.countdown-section>.countdown-period {
    display: block;
    font-size: 22px;
    margin-top: 8px;
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: #fff;
}

#countdown-timer:before,
#countdown-timer:after {
    content: " ";
    display: table;
}

#countdown-timer:after {
    clear: both;
}

.countdown-timer-title {
    line-height: 1;
    text-transform: uppercase;
}

/* Hero legibility: keep countdown + title readable over bright, busy photos.
   No scrim element (the homepage countdown scrim was intentionally removed);
   instead a tight dark halo gives crisp edge contrast on any background,
   plus a soft depth shadow. Scoped to .shortcode-event-countdown so the
   comingsoon/developer countdown variants are unaffected. */
.shortcode-event-countdown #countdown-timer>.countdown-section,
.shortcode-event-countdown #countdown-timer>.countdown-section>.countdown-period {
    text-shadow:
        0 0 1px rgba(0, 0, 0, 0.55),
        0 1px 3px rgba(0, 0, 0, 0.5),
        0 2px 18px rgba(0, 0, 0, 0.35);
}

.shortcode-event-countdown .countdown-timer-title {
    margin-top: 24px;
    text-shadow:
        0 0 1px rgba(0, 0, 0, 0.5),
        0 1px 3px rgba(0, 0, 0, 0.55),
        0 2px 20px rgba(0, 0, 0, 0.4);
}

.shortcode-event-countdown .countdown-timer-subtitle {
    color: #fff;
    text-shadow:
        0 0 1px rgba(0, 0, 0, 0.5),
        0 1px 3px rgba(0, 0, 0, 0.55),
        0 2px 16px rgba(0, 0, 0, 0.38);
}

/* countdown 2 */

.home-counter2 {
    text-align: center;
}

.home-counter2 #countdown-timer>.countdown-section {
    float: none;
    display: inline-block;
    font-size: 40px;
}

.home-counter2 #countdown-timer>.countdown-section>.countdown-period {
    font-size: 14px;
}

.home-counter2 #countdown-timer {
    margin: 0 -20px;
}

.home-counter2 #countdown-timer>.countdown-section {
    margin: 0 20px;
}

.home-event-title .style-sub-title {
    position: relative;
    display: inline-block;
}

.home-event-title .style-sub-title:after {
    position: absolute;
    left: -180px;
    top: 12px;
    width: 160px;
    height: 1px;
    content: "";
    background: rgba(255, 255, 255, .3);
}

.home-event-title .style-sub-title:before {
    position: absolute;
    right: -180px;
    top: 12px;
    width: 160px;
    height: 1px;
    content: "";
    background: rgba(255, 255, 255, .3);
}


/*=================================
 *=======  Home contact form 7    ======
*================================= */

.home-contact-form {
    background: rgba(0, 0, 0, .6);
    padding: 0 0 40px;
}

.home-contact-form input[type="text"],
.home-contact-form input[type="email"] {
    background: transparent;
}

.home-contact-form h2 {
    color: #fff;
    font-weight: 100;
    margin: 0 0 25px;
    font-size: 22px;
}

.home-contact-form input[type="text"],
.home-contact-form input[type="email"],
.home-contact-form textarea {
    border: 1px solid rgba(255, 255, 255, 0.1);
    font-weight: 300;
    font-size: 14px;
    color: #fff;
}

.home-contact-form input[type="text"]:focus,
.home-contact-form input[type="email"]:focus,
.home-contact-form textarea:focus,
.select-cfrom:focus {
    border: 1px solid #4bb463;
}

.select-cfrom select option {
    background: red;
}

div.wpcf7-validation-errors,
div.wpcf7-mail-sent-ok {
    border: none;
}

div.wpcf7-response-output {
    margin: 0;
}

.home-contact-form input[type="text"]::-webkit-input-placeholder,
.home-contact-form input[type="email"]::-webkit-input-placeholder,
.home-contact-form textarea::-webkit-input-placeholder {
    color: #6B6B6B;
}

.select-cfrom {
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
}

.contact-form-7 p {
    margin-bottom: 0;
}

.select-cfrom select {
    background: none;
    width: 100%;
    color: #6B6B6B;
    font-weight: 300;
    font-size: 14px;
    border: none;
}

.home-contact-form .wpcf7-form-control.wpcf7-submit {
    margin-top: 30px;
    border-radius: 4px;
    color: #fff;
    background: #f26522;
    margin-bottom: 10px;
    transition: 300ms;
    -webkit-transition: 300ms;
}

.home-contact-form .wpcf7-form-control.wpcf7-submit:hover {
    background: #C5511A;
}

input:focus,
textarea:focus,
keygen:focus,
select:focus {
    outline-offset: 0;
    outline: -webkit-focus-ring-color auto 0;
}


/* onepage email */

.onepage-email {}


/*=================================
 *=======   button shortcode   ======
 *================================= */

.themeum-button a:hover {
    transition: 300ms;
    -webkit-transition: 300ms;
}


/*=================================
 *=======   Map   ======
 *================================= */

#map-info-content {
    padding: 20px 50px 10px;
    text-align: center;
}


/*=================================
 *=======   Pricing Table   ======
 *================================= */

.themeum-pricing-box {
    border: 0;
    padding: 70px 0;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: cover;
}

.event-schedule.style-2 {
    font-weight: 400;
}
.event-schedule.style-2 .speaker {
    font-size: 14px;
}

.themeum-pricing-box .sppb-pricing-header span.sppb-pricing-price {
    font-size: 72px;
    line-height: 1;
}

.themeum-pricing-box .sppb-pricing-header .sppb-pricing-title {
    font-size: 24px;
    margin-top: 30px;
    margin-bottom: 0;
    margin-top: 5px;
    padding: 0;
    font-weight: bold;
    text-transform: uppercase;
}

.themeum-pricing-box .sppb-pricing-features {
    padding: 30px 0;
}

.themeum-pricing-box .sppb-pricing-header>span.sppb-pricing-duration {
    font-size: 16px;
    line-height: 16px;
}

.themeum-pricing-box .sppb-pricing-features>ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.themeum-pricing-box .sppb-pricing-features>ul>li {
    display: block;
    padding: 5px 0;
}

.pricing-btn {
    padding: 10px 20px;
    transition: 300ms;
    -webkit-transition: 300ms;
}

.pricing-btn:hover {
    opacity: .9;
}


/*=================================
 *=======   speakers   ======
 *================================= */

.sp-speakers {
    margin: -15px 0;
}

.sp-speaker {
    margin: 15px 0;
}

.sp-speaker .speaker-title {
    font-size: 18px;
    line-height: 1;
    margin: 20px 0 10px;
    text-transform: uppercase;
}

.sp-speaker .speaker-designation {
    font-size: 14px;
    margin: 0;
    line-height: 1;
    color: #333;
}

.speaker-transparent .sp-speaker .speaker-designation {
    color: #fff;
}

.speaker-transparent .sp-speaker .speaker-title a {
    color: #fff;
}

.speaker-transparent .sp-speaker .speaker-title a:hover {
    color: #4bb463;
}

.sp-speaker .speaker-image-wrapper {
    position: relative;
}

.sp-speaker .speaker-image-wrapper:hover>div {
    opacity: 1;
}

.sp-speaker .speaker-image-wrapper>div {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    -webkit-transition: opacity 400ms;
    transition: opacity 400ms;
}

.sp-speaker .speaker-image-wrapper>div>ul {
    list-style: none;
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.sp-speaker .speaker-image-wrapper>div>ul.social-links-4>li {
    width: 50%;
    height: 50.5%;
}

.sp-speaker .speaker-image-wrapper>div>ul.social-links-3>li {
    width: 50%;
    height: 50.5%;
}

.sp-speaker .speaker-image-wrapper>div>ul.social-links-3>li.social-3 {
    width: 100%;
}

.sp-speaker .speaker-image-wrapper>div>ul.social-links-2>li {
    width: 50%;
    height: 100%;
}

.sp-speaker .speaker-image-wrapper>div>ul.social-links-1>li {
    width: 100%;
    height: 100%;
}

.sp-speaker .speaker-image-wrapper>div>ul li {
    display: block;
    float: left;
    text-align: center;
}

.sp-speaker .speaker-image-wrapper>div>ul li a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-facebook {
    background: rgba(58, 85, 156, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-facebook:hover {
    background: rgba(58, 85, 156, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-soundcloud {
    background: rgba(255, 135, 2, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-soundcloud:hover {
    background: rgba(255, 51, 0, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-twitter {
    background: rgba(38, 167, 227, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-twitter:hover {
    background: rgba(38, 167, 227, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-google-plus {
    background: rgba(223, 66, 49, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-google-plus:hover {
    background: rgba(223, 66, 49, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-pinterest {
    background: rgba(206, 1, 35, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-pinterest:hover {
    background: rgba(206, 1, 35, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-linkedin {
    background: rgba(12, 119, 186, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-linkedin:hover {
    background: rgba(12, 119, 186, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-dribbble {
    background: rgba(235, 59, 137, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-dribbble:hover {
    background: rgba(235, 59, 137, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-flickr {
    background: rgba(237, 0, 132, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-flickr:hover {
    background: rgba(237, 0, 132, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-behance {
    background: rgba(0, 0, 0, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-behance:hover {
    background: rgba(0, 0, 0, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-youtube {
    background: rgba(203, 35, 40, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-youtube:hover {
    background: rgba(203, 35, 40, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-vimeo {
    background: rgba(26, 182, 237, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-vimeo:hover {
    background: rgba(26, 182, 237, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-github {
    background: rgba(0, 0, 0, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-github:hover {
    background: rgba(0, 0, 0, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-skype {
    background: rgba(36, 172, 230, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-skype:hover {
    background: rgba(36, 172, 230, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-vk {
    background: rgba(76, 117, 163, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-vk:hover {
    background: rgba(76, 117, 163, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-instagram {
    background: rgba(132, 76, 51, 0.8);
}

.sp-speaker .speaker-image-wrapper>div>ul li a.social-instagram:hover {
    background: rgba(132, 76, 51, 0.95);
}

.sp-speaker .speaker-image-wrapper>div>ul li a>i {
    font-size: 36px;
    line-height: 1;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

.sp-speaker .speaker-title {
    color: #333;
}

.sp-speaker .speaker-title a {
    color: #333;
    transition: 400ms;
    -webkit-transition: 400ms;
}

.sp-speaker .speaker-title a:hover,
.sp-speaker .speaker-title a:active,
.sp-speaker .speaker-title a:focus {
    color: #333;
}

.sppb-addon-container .sp-speaker .speaker-designation {
    color: #333;
}

#keynote-speakers {
    margin-bottom: 100px;
}

#keynote-speakers .section-title,
#other-speakers .section-title {
    font-size: 24px;
    line-height: 1;
    text-transform: uppercase;
    margin-bottom: 40px;
}

.sp-eventum-view-speaker .speaker-title {
    text-transform: uppercase;
    font-weight: 700;
}

.sp-eventum-view-speaker .speaker-designation {
    font-size: 18px;
    line-height: 1;
}

.sp-eventum-view-speaker .speaker-website {
    margin-top: -10px;
}

.sp-eventum-view-speaker .speaker-social-icons ul {
    list-style: none;
    padding: 0;
    margin: -5px -5px 15px;
}

.sp-eventum-view-speaker .speaker-social-icons ul>li {
    display: inline-block;
    margin: 5px;
}

.speaker-social-icons ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.single-speaker .speaker-social-icons {
    margin-bottom: 20px;
}

.speaker-social-icons ul>li {
    display: inline-block;
}

.single-speaker .speaker-social-icons ul>li {
    margin-right: 10px;
}

.single-speaker .speaker-social-icons ul>li a {
    color: #333;
}

.single-speaker #main {
    margin-bottom: 100px;
}


/*themeum-speaker-listing*/

.themeum-speaker-listing .speaker-inner{
    background-color: #f8f8f8;
    margin: 15px 0;
    padding: 30px;
    font-size: 14px;
}

.themeum-speaker-listing .speaker-inner .speaker-img{
    width: 185px;
    height: auto;
    float: left;
}

.themeum-speaker-listing .speaker-inner .speaker-img img{
    max-width: 100%;
}

.themeum-speaker-listing .speaker-inner .speaker-content{
    padding-left: 215px;
}


.themeum-speaker-listing .speaker-inner .speaker-content .h4{
    text-transform: uppercase;
    margin: 15px 0 6px;
    display: block;
    -webkit-transition: .4s;
    transition: .4s;
}

.themeum-speaker-listing .speaker-inner .speaker-content .h4:hover{
    color: #8dc63f
}

.themeum-speaker-listing .speaker-inner .speaker-content .h6{
    margin: 0 0 15px;
    color: #8dc63f;
    font-size: 14px;
    font-weight: 400;
}

.themeum-speaker-listing .speaker-inner .social-icons ul{
    margin: 6px 0 0 -5px;
    padding: 0;
    color: #8dc63f;
}

.themeum-speaker-listing .speaker-inner .social-icons ul li{
    display: inline-block;
}

.themeum-speaker-listing .speaker-inner .social-icons ul li a{
    color: inherit;
    padding: 5px;
    -webkit-transition: .4s;
    transition: .4s;
}



.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-facebook:hover {
    color: rgba(58, 85, 156, 0.95);
}

.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-soundcloud {
    color: rgba(255, 135, 2, 0.8);
}

.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-soundcloud:hover {
    color: rgba(255, 51, 0, 0.95);
}

.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-twitter:hover {
    color: rgba(38, 167, 227, 0.95);
}

.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-google-plus:hover {
    color: rgba(223, 66, 49, 0.95);
}


.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-pinterest:hover {
    color: rgba(206, 1, 35, 0.95);
}


.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-linkedin:hover {
    color: rgba(12, 119, 186, 0.95);
}


.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-dribbble:hover {
    color: rgba(235, 59, 137, 0.95);
}

.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-flickr:hover {
    color: rgba(237, 0, 132, 0.95);
}
.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-behance:hover {
    color: rgba(0, 0, 0, 0.95);
}
.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-youtube:hover {
    color: rgba(203, 35, 40, 0.95);
}

.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-vimeo:hover {
    color: rgba(26, 182, 237, 0.95);
}

.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-github:hover {
    color: rgba(0, 0, 0, 0.95);
}

.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-skype:hover {
    color: rgba(36, 172, 230, 0.95);
}

.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-vk:hover {
    color: rgba(76, 117, 163, 0.95);
}


.themeum-speaker-listing .speaker-inner .social-icons ul li a.social-instagram:hover {
    color: rgba(132, 76, 51, 0.95);
}






/*=========================================
 *=======  schedules table    ============
 *=======================================*/

.eventum-schedules.schedules-list .table-hover thead {
    border-top: 1px solid #e5e5e5;
}

.eventum-schedules.layout-addon .eventum-schedule {
    border-top: 0;
    padding-top: 0;
}

.eventum-schedules.layout-addon .eventum-schedule .scedule-date {
    margin-bottom: 50px;
}

.eventum-schedules.layout-addon .eventum-schedule:nth-child(1) .scedule-date,
.eventum-schedules.layout-addon .eventum-schedule:nth-child(1) .scedule-date {
    color: #ed145b;
}

.eventum-schedules.layout-addon .eventum-schedule:nth-child(2) .scedule-date-day,
.eventum-schedules.layout-addon .eventum-schedule:nth-child(2) .scedule-date-day {
    color: #92278f;
}

.eventum-schedules.layout-addon .eventum-schedule:nth-child(3) .scedule-date,
.eventum-schedules.layout-addon .eventum-schedule:nth-child(3) .scedule-date {
    color: #f26522;
}

.eventum-schedules.layout-addon .eventum-schedule:nth-child(4) .scedule-date,
.eventum-schedules.layout-addon .eventum-schedule:nth-child(4) .scedule-date {
    color: #cbd504;
}

.eventum-schedules.layout-addon .eventum-schedule .scedule-date {
    font-size: 72px;
    display: block;
    font-weight: bold;
    line-height: 30px;
    margin-top: 20px;
    color: #ed145b;
}

.eventum-schedules .table-hover tr a.speaker {
    color: #888;
}

.eventum-schedules.layout-addon .eventum-schedule .scedule-date>span {
    font-size: 18px;
    color: #000;
    display: inline-block;
}

.eventum-schedules .table-hover th,
.eventum-schedules .table-hover td {
    padding: 15px 30px;
    font-size: 14px;
    text-transform: uppercase;
    vertical-align: middle;
}

.eventum-schedules .table-hover td {
    font-weight: 400;
}

.eventum-schedules .table-hover th {
    background-color: #f0f0f0;
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #dedede;
    font-weight: 600;
}

.eventum-schedules .table-hover tr {
    background-color: #f9f9f9;
    transition: 300ms;
    -webkit-transition: 300ms;
}

.eventum-schedules .table-hover tr:hover {
    background-color: #f0f0f0;
}

.eventum-schedules .table-hover tr a.speaker,
.eventum-schedules .table-hover tr .venue {
    color: #707070;
    transition: 300ms;
    -webkit-transition: 300ms;
}

.colorful-bg {
    background-repeat: no-repeat;
    background-image: url(../images/color-bg-left-bottom.png), url(../images/color-bg-right-bottom.png), url(../images/color-bg-right-top.png);
    background-position: 0 100%, 100% 100%, 100% 0;
}

.eventum-schedules.layout-tabbed .events-nav {
    list-style: none;
    padding: 0;
    margin: 0;
    display: block;
}

.eventum-schedules.layout-tabbed .events-nav>li {
    display: inline-block;
    margin: 0;
    position: relative;
    background-color: #f0f0f0;
    margin-right: 20px;
    padding: 30px;
    border-radius: 10px 10px 0 0;
}

.eventum-schedules.layout-tabbed .events-nav>li.active {
    background-color: #ed145b;
}

.eventum-schedules.layout-tabbed .events-nav>li:nth-child(1) .scedule-date-day {
    color: #ed145b;
}

.eventum-schedules.layout-tabbed .events-nav>li:nth-child(1).active:after {
    border-bottom-color: #ed145b;
}

.eventum-schedules.layout-tabbed .events-nav>li:nth-child(2) .scedule-date-day {
    color: #92278f;
}

.eventum-schedules.layout-tabbed .events-nav>li:nth-child(2).active:after {
    border-bottom-color: #92278f;
}

.eventum-schedules.layout-tabbed .events-nav>li:nth-child(3) .scedule-date-day {
    color: #f26522;
}

.eventum-schedules.layout-tabbed .events-nav>li:nth-child(3).active:after {
    border-bottom-color: #f26522;
}

.eventum-schedules.layout-tabbed .events-nav>li:nth-child(4) .scedule-date-day {
    color: #cbd504;
}

.eventum-schedules.layout-tabbed .events-nav>li:nth-child(4).active:after {
    border-bottom-color: #cbd504;
}

.eventum-schedules.layout-tabbed .events-nav>li.active>a {
    color: #fff;
}

.eventum-schedules.layout-tabbed .events-nav>li.active .scedule-date-day {
    color: #fff;
}

.eventum-schedules.layout-tabbed .events-nav>li>a {
    color: #333;
}

.eventum-schedules.layout-tabbed .events-nav>li .scedule-date>span {
    font-size: 72px;
    line-height: 1;
    display: block;
    font-weight: bold;
    color: #4bb463;
}

.schedules-layout-tabbed .table {
    border: 1px solid #f1f1f1;
}

.schedules-layout-tabbed thead {
    background: #f9f9f9;
}


/* tab view 2 */

.eventum-schedules.layout-tabbed.layout-tabbed2 {
    margin-bottom: 30px;
}

.eventum-schedules.layout-tabbed.layout-tabbed2 .events-nav>li {
    padding: 0;
    background: none;
}

.eventum-schedules.layout-tabbed.layout-tabbed2 .events-nav>li.active .scedule-date-day {
    color: #4bb463;
}

.eventum-schedules.layout-tabbed.layout-tabbed2 .events-nav {
    text-align: center;
}

.eventum-schedules.layout-tabbed.layout-tabbed2 .events-nav>li {
    margin: 0 40px;
}

.eventum-schedules.layout-tabbed.layout-tabbed2 .events-nav>li.active>a,
.eventum-schedules.layout-tabbed.layout-tabbed2 .events-nav>li>a {
    position: relative;
    color: #333;
}

.eventum-schedules.layout-tabbed.layout-tabbed2 .events-nav>li.active>a:after {
    content: "";
    position: absolute;
    top: 37px;
    height: auto;
    left: 0;
    width: auto;
    border-width: 15px 30px;
    border-style: solid;
    border-color: transparent transparent #dedede transparent;
}


/*schedule-list*/

.eventum-handpick-schedule {
    color: #9f9fa0;
    margin-bottom: 35px;
}

.eventum-handpick-schedule .schedule-day {
    font-size: 72px;
    color: #ed145b;
    line-height: 70px;
    font-weight: 700;
}

.eventum-handpick-schedule .schedule-day span {
    font-size: 18px;
    display: block;
    line-height: 24px;
    color: #9f9fa0;
    font-weight: 400;
}

.eventum-handpick-schedule h4 {
    text-transform: uppercase;
    color: #fff;
    margin: 0 0 2px;
}

.eventum-handpick-schedule a {
    color: inherit;
    -webkit-transition: .4s;
    transition: .4s;
}

.eventum-handpick-schedule a:hover {
    color: #8dc63f;
}

.eventum-handpick-schedule .event-info {
    font-size: 14px;
}

.eventum-handpick-schedule .event-info.time-up{
    color: #8dc63f;
}

.eventum-handpick-schedule .event-info span:not(:last-child)::after {
    content: ',';
    margin-right: 4px;
}

.eventum-handpick-schedule .event-schedule {
    margin-top: 40px;
}

.eventum-handpick-column:nth-child(2) .eventum-handpick-schedule .schedule-day {
    color: #00b9ff;
}

.eventum-handpick-column:nth-child(3) .eventum-handpick-schedule .schedule-day {
    color: #f26522;
}

.eventum-handpick-column:nth-child(4) .eventum-handpick-schedule .schedule-day {
    color: #8dc63f;
}


/*=========================================
 *=======   Review   ============
 *=======================================*/

ul.latest-review {
    margin: 0;
    padding: 0;
    list-style: none;
    margin-left: -15px;
    margin-right: -15px;
}

ul.latest-review .latest-review-single-item {
    display: inline-block;
    padding: 0 15px 60px 15px;
    vertical-align: top;
}

ul.latest-review .review-col-one {
    width: 100%;
}

ul.latest-review .review-col-two {
    width: 50%;
}

ul.latest-review .review-col-three {
    width: 33.33%;
}

ul.latest-review .review-col-four {
    width: 25%;
}

ul.latest-review .review-col-five {
    width: 20%;
}

ul.latest-review .review-col-six {
    width: 16.66%;
}

ul.latest-review .entry-date {
    font-size: 14px;
    font-weight: 400;
    color: #92278f;
    display: block;
    margin: 20px 0 5px;
}

ul.latest-review h3.entry-title {
    font-size: 18px;
    margin: 0;
    line-height: 1.3;
    font-weight: 700;
}

ul.latest-review h3.entry-title a {
    color: #000;
    transition: 300ms;
    -webkit-transition: 300ms;
}


/*=========================================
 *=======   Mailchimp    ============
 *=======================================*/

.form.mc4wp-form,
.mc4wp-form {
    width: 680px;
    max-width: 100%;
    margin: 0 auto;
}

.form.mc4wp-form .eventum-form,
.mc4wp-form .eventum-form {
    width: 80%;
}

.form.mc4wp-form .eventum-form,
.mc4wp-form .eventum-form,
.form.mc4wp-form .mailchip-submit,
.mc4wp-form .mailchip-submit {
    float: left;
}

.mc4wp-form input[type=email] {
    border: none;
    padding: 11px 15px;
}

.mc4wp-form input[type=submit] {
    padding: 11px 20px;
    background: #cbd504;
    color: #000;
    border-color: #cbd504;
    font-size: 16px;
    font-weight: bold;
    border: none;
    border-radius: 4px;
    margin-left: 15px;
}

.mc4wp-form input[type=submit]:hover {
    background: #b3bd04;
}

.mc4wp-form input[type=date],
.mc4wp-form input[type=email],
.mc4wp-form input[type=number],
.mc4wp-form input[type=tel],
.mc4wp-form input[type=text],
.mc4wp-form input[type=url],
.mc4wp-form select,
.mc4wp-form textarea {
    width: 100%;
}


/*=========================================
 *=======   Person   ============
 *=======================================*/

.person-details .person-title {
    color: #333;
    font-size: 20px;
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: 0;
}

.person-details .person-deg {
    text-transform: uppercase;
    font-weight: 500;
    font-size: 14px;
    color: #888;
    margin-top: 8px;
}

.themeum-person .social-icon li a {
    display: block;
    font-size: 16px;
    line-height: 16px;
}

.themeum-person .social-icon li a:hover {
    color: #4bb463;
}


/*=========================================
 *=======   Contact Us    ============
 *=======================================*/

.vc_column_container .wpb_gmaps_widget .wpb_wrapper {
    padding: 0;
    background: none;
}


/*=========================================
 *=======   Widget Settings    ============
 *=======================================*/

.widget-blog-posts .media-left,
.widget-blog-posts .media>.pull-left {
    padding-right: 15px;
}

.widget-blog-posts .entry-title {
    font-size: 16px;
    margin-bottom: 5px;
}

.widget-blog-posts .entry-title a {
    color: #000;
}

.widget-blog-posts img {
    margin-bottom: 20px;
}

.widget-blog-posts .entry-date {
    font-size: 14px;
}

.widget-popular-news ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.widget.widget_themeum_popular_posts_widget {
    padding: 0;
    margin: 0;
}

.widget {
    word-break: break-word;
}

.widget img {
    max-width: 100%;
    height: auto;
}

.widget_recent_comments a {
    word-break: break-word;
}

.widget select {
    width: 100%;
    margin: 0;
}

.form-control {
    border-radius: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: 1px solid #f2f2f2;
}

#sidebar .widget {
    margin-bottom: 30px;
    padding: 0;
}

.widget-area .widget:last-child {
    margin-bottom: 0px;
}

.widget h3.widget_title {
    margin: 0 0 20px;
    font-size: 20px;
    color: #333;
    position: relative;
    text-transform: uppercase;
}

#sidebar .themeum-title h2.widget_title {
    font-size: 30px;
    color: #000;
}

#sidebar .themeum-title .icon-bar {
    background: #000;
}

aside.widget-area .themeum-title {
    margin-bottom: 30px;
}

.widget-popular-news a {
    color: #555;
}

.widget-popular-news a:hover {
    color: #000;
}

.widget-popular-news .media>.pull-left {
    padding-right: 15px;
}

.widget_title {
    margin-top: 0;
    margin-bottom: 0;
}

.widget .tagcloud {
    display: block;
}

.widget .tagcloud a {
    display: inline-block;
    color: #000000;
    padding: 4px 15px;
    margin-right: 5px;
    margin-bottom: 10px;
    transition: background-color var(--motion-base) var(--ease-standard),
        color var(--motion-base) var(--ease-standard);
    text-transform: capitalize;
    font-size: 14px !important;
}

.widget .tagcloud a:hover {
    border: none;
    color: #fff;
}

.widget>ul {
    padding: 0;
    margin: 0;
    letter-spacing: 0;
    list-style: none;
}

.widget ul.children {
    list-style: none;
    padding-left: 10px;
}

.widget ul li {}

.widget ul>li:last-child {
    border-bottom: none;
}

.widget.widget_categories ul li {
    text-transform: capitalize;
}

.widget_nav_menu ul {
    padding: 0px;
}

.widget_nav_menu ul li {
    list-style: none;
}

.widget ul li a {
    color: #000;
    display: inline-block;
    font-size: 14px;
    text-decoration: none;
    padding: 5px 0;
    transition: 300ms;
    -webkit-transition: 300ms;
}

.widget ul li a:hover {
    color: #4bb463;
}

.widget ul li:first-child a {
    padding-top: 0;
}

.widget ul li:last-child a {
    padding-bottom: 0;
}

.widget.widget_recent_comments ul li {
    padding-top: 5px;
    padding-bottom: 5px;
    word-break: break-word;
}

.widget.widget_rss ul li {
    padding-top: 10px;
    padding-bottom: 10px;
    word-break: break-word;
}

.widget.widget_recent_comments ul li a {
    padding: 0;
    border-left: 0 none;
}

.widget.widget_nav_menu ul.sub-menu {
    border-top: 1px solid #f4f4f4;
    padding-left: 20px;
}

.widget_text .textwidget {
    padding: 0;
}

.widget.widget_rss .widget_title a {
    color: #fff;
}

.widget.widget_rss ul li a {
    border: 0 none;
    padding: 0;
}

.widget.widget_rss a:hover,
.widget.widget_recent_comments a:hover {
    border-left: 0px;
    text-decoration: underline;
}

.widget.widget_search #searchform {
    position: relative;
}

.widget.widget_search #searchform i {
    position: absolute;
    right: 15px;
    top: 14px;
}

.widget.widget_search .btn-search {
    position: absolute;
    right: 0;
    top: 0;
    background: #f2f2f2;
}


/*=========================================
 *==========     Io Test       ============
 *=======================================*/

.alignnone {
    margin: 5px 20px 20px 0;
}

img.alignnone {
    max-width: 100%;
    height: auto;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 5px auto 5px auto;
    clear: both;
}

.alignright {
    float: right;
    margin: 10px 0 20px 20px;
}

.alignleft {
    float: left;
    margin: 10px 20px 20px 0;
}

.aligncenter {
    display: block;
    margin: 10px auto 15px auto;
}

a img.alignright {
    float: right;
    margin: 5px 0 20px 20px;
}

a img.alignnone {
    margin: 5px 20px 20px 0;
}

a img.alignleft {
    float: left;
    margin: 5px 20px 20px 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    background: #fff;
    border: 1px solid #f0f0f0;
    max-width: 96%;
    /* Image does not overflow the content area */
    padding: 5px 3px 10px;
    text-align: center;
}

.wp-caption.alignnone {
    margin: 5px 20px 20px 0;
    clear: both;
}

.wp-caption.alignleft {
    margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
    margin: 5px 0 20px 20px;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 11px;
    line-height: 17px;
    margin: 0;
    padding: 10px 5px 0;
}

.default-page article {}

.default-page .entry-title {
    margin-bottom: 20px;
}

table {
    border-bottom: 1px solid #f1f1f1;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 14px;
    line-height: 2;
    margin: 0 0 20px;
    width: 100%;
}

caption,
th,
td {
    font-weight: normal;
    text-align: left;
}

caption {
    font-size: 16px;
    margin: 20px 0;
}

th {
    font-weight: bold;
    text-transform: uppercase;
}

td,
.table>tbody>tr>td {
    border-top: 1px solid #efefef;
    padding: 8px 10px 8px 0;
}

dl {
    margin: 0 20px;
}

dt {
    font-weight: bold;
}

dd {
    margin: 0 0 20px;
}

blockquote p {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.5em;
}


.entry-content pre {
    font-size: 12px;
    padding: 20px;
}

/* Responsive embeds: stop fixed-width Google Form / video iframes from
   overflowing on mobile and sitting in a narrow column on desktop. */
.entry-content iframe {
    max-width: 100%;
}

.nobo-embed {
    max-width: 760px;
    margin: 0 auto;
}

.nobo-embed__intro {
    margin: 0 0 20px;
}

.nobo-embed__steps {
    margin: 0 0 24px;
    padding-left: 1.25rem;
}

.nobo-embed__steps li {
    margin-bottom: 6px;
}

.nobo-embed__frame {
    position: relative;
    width: 100%;
    background: #fff;
    border-radius: var(--radius-md);
    overflow: hidden;
    box-shadow: var(--shadow-sm);
}

.nobo-embed__frame iframe {
    display: block;
    width: 100% !important;
    height: 78vh;
    min-height: 540px;
    border: 0;
}

.nobo-embed__fallback {
    margin: 16px 0 0;
    font-size: 14px;
    color: #555;
}

.nobo-embed__fallback a {
    font-weight: 700;
}

.nobo-embed__privacy {
    margin: 8px 0 0;
    font-size: 13px;
    color: #777;
}

/* =================================
 * FAQ accordion (native <details>, no JS, keyboard-accessible)
 * ================================= */
.faq-wrap {
    max-width: 820px;
    margin: 0 auto;
}

.faq-jump {
    margin: 0 0 36px;
}

.faq-jump ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    justify-content: center;
}

.faq-jump a {
    display: inline-block;
    padding: 8px 18px;
    border: 2px solid var(--nobo-btn-primary);
    border-radius: var(--radius-md);
    color: var(--nobo-btn-primary);
    font-weight: 700;
    font-size: 14px;
    text-decoration: none;
}

.faq-jump a:hover,
.faq-jump a:focus-visible {
    background: var(--nobo-btn-primary);
    color: #fff;
}

.faq-group {
    margin: 0 0 40px;
    scroll-margin-top: 90px;
}

.faq-group__title {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 18px;
    padding-bottom: 10px;
    border-bottom: 2px solid rgba(0, 0, 0, 0.08);
}

.faq-item {
    border: 1px solid rgba(0, 0, 0, 0.12);
    border-radius: 8px;
    margin-bottom: 12px;
    background: #fff;
}

.faq-item__q {
    list-style: none;
    cursor: pointer;
    padding: 18px 52px 18px 20px;
    position: relative;
    font-size: 18px;
    font-weight: 700;
    color: #1f2421;
}

.faq-item__q::-webkit-details-marker {
    display: none;
}

.faq-item__q::after {
    content: "+";
    position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: 400;
    line-height: 1;
    color: var(--nobo-btn-primary);
}

.faq-item[open]>.faq-item__q::after {
    content: "\2013";
}

.faq-item__q:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
    border-radius: 8px;
}

.faq-item__a {
    padding: 0 20px 20px;
}

.faq-item__a p:first-child {
    margin-top: 0;
}

.faq-item__a ul {
    padding-left: 1.25rem;
}

/* =================================
 * Reusable CTA buttons + Cost Share structure
 * ================================= */
.nobo-btn {
    display: inline-block;
    padding: 14px 28px;
    background-color: var(--nobo-btn-primary);
    border: 2px solid var(--nobo-btn-primary);
    color: #fff;
    border-radius: var(--nobo-btn-radius, 999px);
    font-weight: 700;
    text-decoration: none;
    transition: background-color var(--motion-fast) var(--ease-expressive), border-color var(--motion-fast) var(--ease-expressive);
}

.nobo-btn:hover,
.nobo-btn:focus-visible {
    background-color: var(--nobo-btn-primary-hover);
    border-color: var(--nobo-btn-primary-hover);
    color: #fff;
}

.nobo-btn--secondary {
    background-color: transparent;
    color: var(--nobo-btn-primary);
}

.nobo-btn--secondary:hover,
.nobo-btn--secondary:focus-visible {
    background-color: var(--nobo-btn-primary);
    color: #fff;
}

.nobo-btn:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 2px;
}

.nobo-coststructure {
    max-width: 760px;
    margin: 40px auto 0;
}

.nobo-coststructure__title {
    font-size: 24px;
    font-weight: 700;
    margin: 32px 0 12px;
}

.nobo-coststructure__range {
    margin: 0 0 18px;
}

.nobo-tiers {
    margin: 0 0 8px;
}

.nobo-tier {
    padding: 14px 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

.nobo-tier dt {
    font-weight: 800;
    font-size: 18px;
    margin-bottom: 4px;
}

.nobo-tier dd {
    margin: 0;
    color: #444;
}

.nobo-keydates {
    margin: 0 0 8px;
    padding-left: 1.25rem;
}

.nobo-keydates li {
    margin-bottom: 6px;
}

.nobo-cta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 28px;
}

/* Cost Share production-copy import */
.page-id-868 .entry-content {
    overflow: hidden;
}

.page-id-868 .wpb-content-wrapper {
    --cost-copy-border: rgba(25, 48, 38, 0.12);
    --cost-copy-panel: rgba(255, 255, 255, 0.78);
    --cost-copy-muted: #5f665f;
    font-size: 17px;
    line-height: 1.7;
}

.page-id-868 .wpb-content-wrapper h1,
.page-id-868 .wpb-content-wrapper h2,
.page-id-868 .wpb-content-wrapper h3,
.page-id-868 .wpb-content-wrapper h4 {
    letter-spacing: 0;
}

.page-id-868 .nobo-house {
    max-width: 1120px;
    margin: 0 auto 56px;
}

.page-id-868 .nobo-house h1 {
    max-width: 760px;
    margin: 0 0 18px;
    font-size: clamp(44px, 6vw, 76px);
    line-height: 0.98;
}

.page-id-868 .nobo-house h2,
.page-id-868 .budget-comparison h2 {
    margin-top: 44px;
}

.page-id-868 .nobo-house h3 {
    margin-top: 28px;
}

.page-id-868 .nobo-house p,
.page-id-868 .budget-comparison p,
.page-id-868 .themeum-amenities-section-body p {
    margin-bottom: 16px;
}

.page-id-868 .nobo-house hr {
    margin: 32px 0;
    border-color: var(--cost-copy-border);
}

.page-id-868 .vc_row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    margin-right: -15px;
    margin-left: -15px;
}

.page-id-868 .vc_row::before,
.page-id-868 .vc_row::after {
    display: none;
}

.page-id-868 .vc_column_container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
}

.page-id-868 .vc_column-inner,
.page-id-868 .wpb_wrapper {
    height: 100%;
}

.page-id-868 [data-vc-full-width] {
    right: auto !important;
    left: auto !important;
    width: auto !important;
}

.page-id-868 .vc_row-has-fill {
    margin-top: 28px;
    margin-bottom: 36px;
    padding: 28px 0;
    border-radius: var(--radius-md);
}

.page-id-868 .vc_custom_1529431194025 {
    justify-content: center;
    /* Drop WPBakery's inline #ecf0f1 row fill (and the panel chrome the
       generic .vc_row-has-fill rule adds) so the cream pricing card sits
       directly on the page gradient instead of in a second gray box. */
    padding: 0;
    background-color: transparent !important;
    border-radius: 0;
}

.page-id-868 .vc_custom_1529431194025>.vc_column_container:not(:has(.themeum-addon-pricing-table)) {
    display: none;
}

.page-id-868 .vc_custom_1529431194025>.vc_column_container:has(.themeum-addon-pricing-table) {
    flex: 0 1 760px;
    max-width: 760px;
}

.page-id-868 .themeum-title {
    margin-top: 52px;
    margin-bottom: 22px;
}

.page-id-868 .themeum-title:first-child {
    margin-top: 0;
}

.page-id-868 .themeum-title .style-title {
    margin-bottom: 8px !important;
}

.page-id-868 .style-sub-title {
    max-width: 260px;
    margin-right: auto;
    margin-left: auto;
    line-height: 1.4 !important;
}

.page-id-868 .budget-comparison {
    max-width: 1120px;
    margin: 0 auto 48px;
}

.page-id-868 .budget-comparison table {
    width: 100%;
    margin: 24px 0 0;
    border-collapse: collapse;
    font-size: 15px;
}

.page-id-868 .budget-comparison th,
.page-id-868 .budget-comparison td {
    padding: 12px 14px;
    border-bottom: 1px solid var(--cost-copy-border);
    text-align: left;
    vertical-align: middle;
}

.page-id-868 .budget-comparison th {
    color: #1f2d25;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.page-id-868 .budget-comparison td:not(:first-child),
.page-id-868 .budget-comparison th:not(:first-child) {
    text-align: center;
}

.page-id-868 .vc_separator {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 30px 0;
}

.page-id-868 .vc_separator h4 {
    margin: 0;
    font-size: 21px;
    line-height: 1.35;
}

.page-id-868 .vc_sep_holder {
    flex: 1 1 48px;
    min-width: 32px;
}

.page-id-868 .vc_sep_line {
    display: block;
    height: 1px;
    background: var(--cost-copy-border);
}

.page-id-868 .vc_icon_element,
.page-id-868 .vc_message_box-icon,
.page-id-868 .vc_btn3-icon {
    display: none !important;
}

.page-id-868 .themeum-addon-pricing-table,
.page-id-868 .wpb-pricing-table,
.page-id-868 .vc_cta3,
.page-id-868 .vc_message_box {
    border: 1px solid var(--cost-copy-border);
    border-radius: var(--radius-md);
    background: var(--cost-copy-panel) !important;
    box-shadow: var(--shadow-sm);
}

.page-id-868 .themeum-addon-pricing-table,
.page-id-868 .wpb-pricing-table {
    display: flex;
    height: 100%;
    min-height: 330px;
    flex-direction: column;
    justify-content: space-between;
    padding: 30px 24px;
    text-align: center;
}

.page-id-868 .sppb-pricing-price,
.page-id-868 .wpb-price {
    font-family: var(--font-family-display);
    font-size: 56px;
    font-weight: 500;
    line-height: 1;
}

.page-id-868 .wpb-currency {
    top: -0.55em;
    margin-right: 2px;
    font-family: var(--font-family-display);
    font-size: 28px;
}

.page-id-868 .sppb-pricing-duration {
    display: inline-block;
    margin-left: 8px;
    padding: 6px 12px;
    border: 1px solid var(--cost-copy-border);
    border-radius: 999px;
    color: #173125;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.page-id-868 .sppb-pricing-title,
.page-id-868 .wpb-plan-title {
    margin: 18px 0 6px;
    font-size: 24px;
    line-height: 1.2;
}

.page-id-868 .wpb-plan-description {
    margin-bottom: 18px;
    color: var(--cost-copy-muted);
    font-weight: 700;
    text-transform: uppercase;
}

.page-id-868 .wpb-plan-features,
.page-id-868 .sppb-pricing-features ul {
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.page-id-868 .wpb-plan-features li,
.page-id-868 .sppb-pricing-features li {
    margin-bottom: 10px;
}

.page-id-868 .vc_cta3 {
    margin: 42px 0;
    padding: 34px;
    text-align: center;
}

.page-id-868 .vc_cta3-content-header h2 {
    margin: 0 0 8px;
    font-size: 34px;
    line-height: 1.15;
}

.page-id-868 .vc_cta3-content-header h4 {
    margin: 0 0 20px;
    color: var(--cost-copy-muted);
    font-size: 18px;
}

.page-id-868 .vc_message_box {
    margin: 18px 0 28px;
    padding: 20px 24px !important;
}

.page-id-868 .vc_message_box p:last-child,
.page-id-868 .vc_cta3 p:last-child {
    margin-bottom: 0;
}

.page-id-868 .vc_progress_bar {
    max-width: 720px;
    margin: 0 auto 36px;
}

.page-id-868 .vc_single_bar {
    overflow: hidden;
    border-radius: 999px;
    background: rgba(25, 48, 38, 0.12);
}

.page-id-868 .vc_bar {
    display: block;
    height: 18px;
    border-radius: inherit;
    background: var(--nobo-btn-primary);
}

.page-id-868 .vc_label {
    display: block;
    margin-bottom: 8px;
    color: #1f2d25;
    font-weight: 700;
}

.page-id-868 blockquote {
    margin: 22px auto;
    padding: 18px 22px;
    border-left: 4px solid var(--color-action);
    background: rgba(183, 101, 63, 0.06);
    color: #313833;
}

.page-id-868 .vc_btn3-container {
    margin: 24px 0;
    text-align: center;
}

.page-id-868 .vc_btn3 {
    display: inline-flex !important;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 12px 22px !important;
    text-decoration: none;
}

.page-id-868 .vc_btn3-block {
    width: 100%;
}

.page-id-868 .vc_progress_bar,
.page-id-868 .vc_zigzag-wrapper,
.page-id-868 .vc_message_box,
.page-id-868 .vc_btn3-container,
.page-id-868 .vc_cta3-container {
    clear: both;
}

.page-id-868 .themeum-amenities-section-header h3 {
    margin: 0 0 10px;
    font-size: 24px;
}

.page-id-868 .themeum-amenities-section-body {
    margin-bottom: 34px;
    color: #414941;
}

.page-id-868 .vc_single_image-wrapper img,
.page-id-868 .ctl-story img {
    display: block;
    max-width: 100%;
    height: auto;
    margin-right: auto;
    margin-left: auto;
    border-radius: var(--radius-md);
}

.page-id-868 .ctl-story img.story-image,
.page-id-868 .ctl-story .wp-post-image {
    max-height: 430px;
    object-fit: cover;
}

/*
 * Defensive cap for legacy inline timeline images. Cool Timeline stories embed
 * full-size (`alignleft size-full`) images in their description body; with the
 * float intact a single ~1000px image forces text into a multi-thousand-pixel
 * column and a missing/oversized asset blows out the whole page. Neutralize the
 * float on this layout and bound the height so the story degrades gracefully
 * whether or not the image resolves.
 */
.page-id-868 .ctl-story .ctl-description img {
    float: none;
    max-height: 430px;
    margin: 1rem auto;
    object-fit: cover;
}

@media (min-width: 768px) {
    .page-id-868 .vc_col-sm-12 {
        flex: 0 0 100%;
        max-width: 100%;
    }

    .page-id-868 .vc_col-sm-8 {
        flex: 0 0 66.6667%;
        max-width: 66.6667%;
    }

    .page-id-868 .vc_col-sm-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }

    .page-id-868 .vc_col-sm-4 {
        flex: 0 0 33.3333%;
        max-width: 33.3333%;
    }

    .page-id-868 .vc_col-sm-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }

    .page-id-868 .vc_col-sm-2 {
        flex: 0 0 16.6667%;
        max-width: 16.6667%;
    }
}

@media (max-width: 767px) {
    .page-id-868 .wpb-content-wrapper {
        font-size: 16px;
    }

    .page-id-868 .nobo-house h1 {
        font-size: 42px;
    }

    .page-id-868 .vc_row {
        margin-right: 0;
        margin-left: 0;
    }

    .page-id-868 .vc_column_container {
        padding-right: 0;
        padding-left: 0;
    }

    .page-id-868 .budget-comparison {
        overflow-x: auto;
    }

    .page-id-868 .budget-comparison table {
        min-width: 680px;
    }

    .page-id-868 .vc_separator {
        align-items: flex-start;
    }

    .page-id-868 .vc_sep_holder {
        display: none;
    }

    .page-id-868 .themeum-addon-pricing-table,
    .page-id-868 .wpb-pricing-table,
    .page-id-868 .vc_cta3 {
        min-height: 0;
    }
}

/* Photos page */
.nobo-photos-intro {
    max-width: 680px;
    margin: 0 auto 36px;
    text-align: center;
    font-size: 17px;
    color: #555;
}

.page-id-707 .vc_grid-item {
    margin-bottom: 4px;
}

.page-id-707 .vc_grid .vc_grid-item .vc_grid-item-mini {
    border-radius: 6px;
    overflow: hidden;
}

.gallery-format {
    list-style: none;
    padding: 0;
    margin: 0;
    font-size: 0;
    line-height: 0;
}

.gallery-format>li>img {
    -webkit-transition: 300ms;
    transition: 300ms;
}

.gallery-format li {
    display: inline-block;
    position: relative;
}

.gallery-format li>.overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: .25;
    background: #000;
    -webkit-transition: 300ms;
    transition: 300ms;
}

.gallery-format li>.overlay a {
    display: inline-block;
    width: 100%;
    height: 100%;
    text-align: center;
    color: #FFF;
}

.gallery-format li {
    width: 33.3333333%;
}

.gallery-format li:hover>.overlay {
    opacity: 1;
    background: none;
}


/*=======   Blog  ========*/


/* sticky */

.post.sticky .entry-meta {
    padding: 20px;
    background: rgba(0, 0, 0, 0.3);
}

.post-icon i {
    font-size: 30px;
    margin: 10px 0 15px;
}

.sticky .featured-post i {
    margin-right: 10px;
}

.entry-content-wrap {
    padding: 35px 0;
}


/* pagination */

.themeum-pagination .pagination {
    margin: 20px 0 80px;
}

.pagination>li:first-child>a,
.pagination>li:first-child>span,
.pagination>li:last-child>a,
.pagination>li:last-child>span {
    border-radius: 0;
}

.pagination>.active>a,
.pagination>.active>a:focus,
.pagination>.active>a:hover,
.pagination>.active>span,
.pagination>.active>span:focus,
.pagination>.active>span:hover {
    border-color: transparent;
    color: #000;
}

.themeum-pagination .pagination>li>a {
    font-size: 16px;
    line-height: 24px;
    padding: 8px 20px;
    border: 0;
    background-color: #f5f5f5;
    border: none;
    border-radius: 0;
    margin-right: 0;
    color: #000;
}

.pagination>li>a,
.pagination>li>span {
    color: #6f797a
}

.themeum-pagination .pagination>li.active>a,
.themeum-pagination .pagination>li>a:focus,
.themeum-pagination .pagination>li>a:hover,
.themeum-pagination .pagination>li>span:focus,
.themeum-pagination .pagination>li>span:hover {
    color: #fff;
}

.entry-blog-meta {}

.entry-blog-meta ul {
    display: block;
    list-style: none;
    padding: 0;
    margin: 0;
}

.entry-blog-meta ul li {
    line-height: 26px;
    display: inline-block;
    margin-right: 20px;
    font-size: 14px;
}

.entry-blog-meta ul li a {
    color: #333;
}

.entry-blog-meta ul li a:hover {
    color: #4bb463;
}

.entry-blog-meta ul li i {
    margin-right: 8px;
}

.entry-meta ul li:last-child {
    margin-right: 0px;
}

.entry-summary .vc_row-fluid .container .wpb_row {
    margin-bottom: 30px;
}

.entry-summary .vc_row-fluid .container {
    padding: 0;
}

.entry-summary {
    margin-top: 10px;
    border-top: 1px solid #dfdfdf;
    padding-top: 15px;
}

.all-postformats {
    margin-top: 30px;
}

.entry-post-content {
    padding: 5px 0;
}

.entry-title.blog-entry-title {
    font-size: 30px;
    margin: 0 0 10px;
}

.single.single-post .entry-title.blog-entry-title {
    margin-top: 30px;
}

.entry-title.blog-entry-title a {
    color: #000;
}

.page #content article.post,
.blog #content article.post,
.archive #content article.post,
.search-results #content article.post,
.search-results #content article.page,
.single #content article.post {
    margin-bottom: 50px;
    word-wrap: break-word;
}

.entry-link,
.entry-chat,
.entry-status,
.entry-qoute {
    padding: 80px;
    font-size: 14px;
    border: 1px solid #e5e5e5;
    background: #f5f5f5;
}

.entry-status {
    padding: 0;
}

.entry-link h4 {
    font-size: 42px;
    font-weight: 700;
}

.entry-qoute blockquote {
    margin-bottom: 0;
    padding: 0;
    border: none;
}

.entry-qoute blockquote p {
    font-weight: 400;
    letter-spacing: .5px;
    line-height: 24px;
    font-size: 16px;
}

.entry-qoute blockquote small {
    font-style: italic;
    font-size: 30px;
    font-weight: 700;
    color: #000;
}

.format-aside .post-content.media .entry-title {
    display: none;
}

.type-post .post-content .media-body {
    padding-right: 30px;
}

.entry-title {
    margin-top: 0;
    margin-bottom: 10px;
}

.entry-title,
.entry-summary {
    -ms-word-wrap: break-word;
    word-wrap: break-word;
}


/*=======   Post Gallery   ========*/

.gallery-slide {
    margin-top: 25px;
}

.blog-gallery-slider .carousel-control {
    top: 45%;
    width: 5%;
    text-shadow: none;
    bottom: auto;
    background: none;
    opacity: .8;
    height: 40px;
    line-height: 40px;
    background: #000;
}

.blog-gallery-slider .carousel-control i {
    font-size: 36px;
    line-height: 36px;
}


/*postbox*/

.postbox-column {
    margin: 15px 0;
}

.postbox-column .post-inner {
    display: table;
    width: 100%;
    color: #fff;
    background-position: center center;
    background-size: cover;
    -webkit-transition: .4s;
    transition: .4s;
    height: 360px;
}

.postbox-column .post-inner > div {
    display: table-cell;
    vertical-align: bottom;
    padding: 25px;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(0, 0, 0, .7)), color-stop(80%, rgba(255, 255, 255, 0)));
    background: linear-gradient(to top, rgba(0, 0, 0, .7) 0%, rgba(255, 255, 255, 0) 80%);
}

.postbox-column .post-inner h4 {
    color: #fff;
    margin: 0;
    line-height: 24px;
    -webkit-transition: .4s;
    transition: .4s;
}
.postbox-column .post-inner:hover h4{
    color: #8dc63f;
}
.postbox-column .post-inner .post_meta {
    color: #8dc63f;
    font-size: 14px;
    margin-bottom: 4px;
    -webkit-transition: .4s;
    transition: .4s;
}
.postbox-column .post-inner:hover .post_meta{
    color: #ffffff;
}

.postbox-column .post_meta > span:not(:last-child)::after{
    content: '/';
    margin: 0 4px;
}


/* single page social share */

.social-button ul {
    padding: 0;
    margin: 50px 0 15px;
    list-style: none;
}

.social-button ul li {
    display: inline-block;
}

.social-button ul li a {
    width: 30px;
    height: 30px;
    line-height: 30px;
    margin-right: 2px;
    text-align: center;
    color: #fff;
    display: inline-block;
}

.social-button ul li a.facebook {
    background: #3b5998;
}

.social-button ul li a.twitter {
    background: #56a3d9;
}

.social-button ul li a.g-puls {
    background: #dd4b39;
}

.social-button ul li a.g-puls {
    background: #dd4b39;
}

.social-button ul li a.linkedin {
    background: #1a49ab;
}

.social-button ul li a.pinterest {
    background: #cb211d;
}

.single-post #content article.post {
    margin-bottom: 0;
}

.single-post #content .post-author {
    background: #fff;
    margin-top: 0px;
    margin-bottom: 30px;
}

/* Keep page/post content off the dark footer. Excludes the homepage,
   whose #main carries full-bleed sections that own their own edges. */
.single.single-post #main,
.page:not(.page-template-homepage) #main {
    margin-bottom: var(--space-8);
}

.entry-content-wrap .page-links {
    margin-top: 30px;
}

.single-post #content .post-author .pull-left {
    margin-right: 20px;
}

.single-post #content .post-author .media-body h3 {
    margin-top: 0;
    text-transform: capitalize;
}

.single-post #content .post-author .media-body p {
    margin-bottom: 0;
    line-height: 24px;
    font-size: 14px;
}

.quote {
    background-color: #f0f1f3;
}

.quote {
    font-size: 28px;
    line-height: 42px;
    color: #000;
    padding: 118px 70px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.quote p {
    position: relative;
}

.quote p:before {
    content: "\00a0 \00a0 \00a0 \00a0 \00a0 \00a0";
}

.quote p:after {
    content: "\f10d";
    font-family: fontawesome;
    position: absolute;
    top: -50px;
    left: 0;
}

.user-profile {
    margin-top: 50px;
}

.user-profile h2 {
    font-size: 48px;
    font-weight: 100;
    margin-bottom: 20px;
}

.user-profile h3 {
    font-weight: 300;
    font-size: 30px;
    text-transform: capitalize;
}

.author-avater {
    margin-right: 20px;
}


/* post navigation */

.post-navigation .previous-post a,
.post-navigation .next-post a {
    padding: 40px 0 0px;
    color: #000;
    display: inline-block;
}


/*=======   Blog Comment   ========*/

#comments {
    background: #FFF;
    padding: 60px 0;
}

#comments .comments-title,
#respond .comment-reply-title {
    margin-top: 0;
    margin-bottom: 30px;
    padding-bottom: 15px;
    border-bottom: 1px solid #f2f2f2;
    font-size: 14px;
    text-transform: uppercase;
}

#respond input[type="text"],
#respond input[type="email"],
#respond input[type="url"] {
    display: block;
    width: 100%;
    height: 50px;
    border: 1px solid #f2f2f2;
    background: #fff;
    margin-bottom: 30px;
    padding: 0 15px;
}

#respond textarea {
    display: block;
    width: 100%;
    height: 210px;
    border: 1px solid #f2f2f2;
    margin-bottom: 30px;
    resize: none;
    padding: 10px 15px;
    background: #fff;
}

.col6 {
    width: 50%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    float: left;
}

.logged-in .col6 {
    width: 100%;
}

.col6-input {
    padding: 0 0 0 30px;
}

/* @media only screen and (max-width: 768px){
    .col6-input {
        padding: 15px 0;
    }
    .col6{
        width: 100%;
    }
} */

#respond input:focus,
#respond textarea:focus {
    outline-offset: 0;
    outline: 0;
}

#respond ::-webkit-input-placeholder {
    font-weight: 300;
    font-size: 14px;
    letter-spacing: 1px;
}

#respond .form-submit {
    text-align: right;
}

#respond .logged-in-as {
    padding-left: 15px;
}

.comment-list {
    padding: 0;
    list-style: none;
}

.comment-list .comment-body {
    margin-bottom: 30px;
}

.comment-list .comment-avartar {
    position: relative;
}

.comment-list .comment-body .comment-avartar {
    margin-right: 30px;
}

.comment-list .comment-body .comment-author {
    text-transform: uppercase;
    display: block;
}

.comment-list .comment-body .comment-author a {
    color: #222;
    font-size: 18px;
    line-height: 20px;
}

.comment-list .comment-body .comment-date {
    color: #898989;
    font-size: 11px;
}

.comment-list .comment-body .comment-time {
    margin: 0 10px 0 0px;
}

.comment-list .comment-body .edit-link {
    margin-right: 5px;
}

.comment-list .comment-body .comment-reply,
.comment-list .comment-body .edit-link {
    text-transform: lowercase;
    font-weight: 300;
    display: none;
    transition: display .5s linear;
    -webkit-transition: display .5s linear;
}

.comment-list .comment-body:hover .comment-reply,
.comment-list .comment-body:hover .edit-link {
    display: inline-block;
}

.comment-body .comment-content p {
    font-size: 13px;
    letter-spacing: .3px;
    line-height: 20px;
    margin-top: 0px;
}

.comment-list .children {
    padding-left: 40px;
    list-style: none;
}

#comments .form-submit #submit {
    display: inline-block;
    padding: 10px 20px;
    margin-bottom: 0;
    font-size: 14px;
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    border-radius: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    -o-user-select: none;
    user-select: none;
    color: #000;
    border-color: transparent;
}


/*=================================
 *=======    4. Coming Soon    ====
 *================================= */

html {
    width: 100%;
    height: 100%;
}

.page-template-coming-soon-php {
    height: 100%;
    width: 100%;
}

.comingsoon {
    width: 100%;
    height: 100%;
    min-height: 100%;
    color: #fff;
    background-size: cover;
    background-repeat: no-repeat;
}

#comingsoon-countdown {
    text-align: center;
}

#comingsoon-countdown .countdown-section {
    display: inline-block;
    padding: 20px;
    font-weight: bold;
}

#comingsoon-countdown .countdown-amount {
    display: block;
    font-size: 48px;
    line-height: 1;
    color: #fff;
    letter-spacing: 3px;
    width: 100%;
    text-align: center;
    text-shadow: 0px 4px 3px rgba(0,0,0,0.4), 0px 8px 13px rgba(0,0,0,0.1), 0px 18px 23px rgba(0,0,0,0.1);
}

#comingsoon-countdown .countdown-period {
    display: block;
    width: 100%;
    text-align: center;
}

h2.page-header {
    font-size: 62px;
    margin-bottom: 20px;
    font-weight: 700;
    text-transform: uppercase;
    color: #fff;
    text-align: center;
    border-bottom: none;
    padding: 0px;
    margin-top: 0px;
}

.countdown-days {
    color: white;
    /* color: #fff200 !important; */
}

.countdown-hours {
    color: white;
    /* color: #ff8a00 !important; */
}

.countdown-minutes {
    color: white;
    /* color: #00b9ff !important; */
}

.countdown-seconds {
    color: white;
    /* color: #8dc63f !important; */
}

p.comingsoon-message-desc {
    font-size: 24px;
    font-weight: 700;
    text-align: center;
}

.comingsoon>div {
    display: table;
    vertical-align: middle;
    width: 100%;
    height: 100%;
}

.comingsoon-content {
    display: table-cell;
    vertical-align: middle;
}

.social-share {
    margin-top: 100px;
}

.social-share ul {
    margin: 0;
    padding: 0;
    text-align: center;
}

.comingsoon .social-share ul li {
    display: inline-block;
    margin: 0 15px;
}

.comingsoon .social-share li a {
    color: rgba(255, 255, 255, 0.7);
    font-size: 24px;
    -webkit-transition: color 400ms;
    transition: color 400ms;
}

.comingsoon .social-share li a:hover {
    color: #fff;
}


/*=================================
 *=======    3. Contact Us     ====
 *================================= */

address {
    margin-top: 30px;
    font-style: normal;
    line-height: 1.42857143;
}

textarea {
    margin-bottom: 15px;
}

input[type="text"],
input[type="email"] {
    height: 48px;
    margin-bottom: 15px;
    border-radius: 3px;
    -webkit-box-shadow: none;
    box-shadow: none;
}


/*=================================
 *=======    404 Page      ========
 *================================= */

.error-page-inner .error-code {
    display: inline-block;
    font-weight: bold;
    font-size: 102px;
    font-weight: 700;
    line-height: 1;
    margin: -50px;
    padding: 50px;
    background-size: contain;
    color: #333;
}

.error-page-inner .error-message {
    font-size: 24px;
    line-height: 1;
    margin-top: 10px;
    margin-bottom: 30px;
    text-transform: uppercase;
    font-weight: 400;
}

.btn-success {
    color: #000;
    border: none;
    padding: 14px 20px;
    font-size: 16px;
    font-weight: bold;
    border-radius: 3px;
    background-color: #8dc63f;
}

.btn-success:hover {
    color: #000;
    background-color: #72a230;
}

.error-page-inner .error-msg {
    display: table-cell;
    vertical-align: middle;
    padding-top: 50px;
}

.error-page-inner {
    height: 100%;
    min-height: 100%;
    width: 100%;
    display: table;
}

.error-page-inner>div {
    display: table-cell;
    vertical-align: middle;
}


/*=================================
 *=======    1. Footer     ========
 *================================= */

.gallary-list-img .photo:before {
    background: #f26522 none repeat scroll 0 0;
    content: "";
    height: 100%;
    left: 0;
    margin: 0 auto;
    opacity: 1;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    transition: transform var(--motion-base) var(--ease-standard),
        opacity var(--motion-base) var(--ease-standard);
    visibility: hidden;
    width: 100%;
}

.gallary-list-img .photo {
    position: relative;
    cursor: pointer;
    overflow: hidden;
}

.gallary-list-img .plus-icon::before {
    background: url(../images/arrow.png) no-repeat scroll center center / cover;
    bottom: 0;
    content: "";
    left: 0;
    margin: auto;
    opacity: 1;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transform: scale(0);
    transform: scale(0);
    transition: transform var(--motion-base) var(--ease-standard),
        opacity var(--motion-base) var(--ease-standard);
    visibility: hidden;
    height: 130px;
    width: 130px;
}

.gallary-list-img .plus-icon {
    display: block;
}

.gallary-list-img:hover .photo:before,
.gallary-list-img:hover .plus-icon:before {
    visibility: visible;
    opacity: .8;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.gallary-list-img:hover .plus-icon:before {
    opacity: 1;
}


/*=================================
 *=======    1. Footer     ========
 *================================= */

footer {
    color: #fff;
    padding: 70px 0;
    text-align: center;
    border-top: 1px solid #303841;
    background: #343d47;
}

.footer-logo {
    display: inline-block;
    margin-bottom: 40px;
}

.copyright {
    display: block;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.5);
}

footer .social-icons {
    list-style: none;
    padding: 0;
    margin: 30px -10px -10px;
}

footer .social-icons>li {
    display: inline-block;
    margin: 10px;
}

footer .social-icons>li>a {
    color: rgba(255, 255, 255, 0.5);
}

footer .social-icons> li > a:hover {
    color: #4bb463;
}

.footer-logo h1 {
    color: #ffffff;
}

/* .footer-nav / .footer-menu live in the "IA / Nav restructure" block below. */

.footer-contact {
    margin: 0 0 6px;
}

.footer-contact a {
    color: rgba(255, 255, 255, 0.9);
    font-size: 14px;
    font-weight: 600;
}

.footer-contact a:hover {
    color: #ffffff;
}

#map-info-content h1,
#map-info-content h2,
#map-info-content h3,
#map-info-content h4 {
    margin-top: 0;
}


/***************************
****** Woocommerce *******
****************************/

.woocommerce #content div.product div.images,
.woocommerce div.product div.images,
.woocommerce-page #content div.product div.images,
.woocommerce-page div.product div.images {
    float: none;
    width: auto;
}

.woocommerce span.onsale,
.woocommerce-page span.onsale {}

.woocommerce-product-gallery__image {
    margin-bottom: 30px;
}

.woocommerce .products.clearfix {
    margin-left: -15px;
    margin-right: -15px;
}

.woocommerce .products .product {
    width: 33.3333%;
    display: inline-block;
    list-style: none;
    padding: 15px;
    margin: 0;
    float: left;
}

.woocommerce li .product-thumbnail-outer {
    position: relative;
    margin-bottom: 0;
    overflow: hidden;
}

.woocommerce li .product-thumbnail-outer:after {
    position: absolute;
    content: " ";
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .35);
    opacity: 0;
    -webkit-transition: opacity 400ms;
    transition: opacity 400ms;
}

.woocommerce .product:hover .product-thumbnail-outer:after {
    opacity: 1;
}

.woocommerce li .product-thumbnail-outer img {
    margin-bottom: 0;
    transition: transform var(--motion-base) var(--ease-standard);
    width: 100%;
}

.woocommerce .product:hover li .product-thumbnail-outer img {
    transform: scale(1.06);
}

.woocommerce .themeum-pagination .pagination {
    margin: 30px 0 100px;
}

.woocommerce li .product-thumbnail-outer .add_to_cart_button {
    position: absolute;
    top: 50%;
    left: 50%;
    color: #FF8A00;
    z-index: 1;
    padding: 0;
    line-height: 48px;
    margin-top: -24px;
    margin-left: -24px;
    text-align: center;
    font-size: 48px;
    opacity: 0;
    -webkit-transition: opacity 400ms;
    transition: opacity 400ms;
    background: none;
}

.woocommerce li .product-thumbnail-outer .add_to_cart_button:hover {
    color: #D67400;
    background: none;
}

.woocommerce div.product:hover:hover .product-thumbnail-outer .add_to_cart_button {
    opacity: 1;
}

.woocommerce li .product-thumbnail-outer .add_to_cart_button:after {
    font-family: "FontAwesome";
    content: "\f07a";
}

.woocommerce li .product-thumbnail-outer .add_to_cart_button.loading:after {
    content: "\f110";
    font-family: "FontAwesome";
    -webkit-animation: spin 2s infinite linear;
    animation: spin 2s infinite linear;
    position: absolute;
    top: 0;
    left: 12px;
}

.woocommerce li .product-thumbnail-outer .add_to_cart_button.loading:before {
    display: none;
}

.woocommerce li .product-thumbnail-outer .add_to_cart_button.loading {
    padding: 0;
}

.woocommerce li .product-thumbnail-outer .add_to_cart_button.added:after {
    content: "\f00c";
    font-family: "FontAwesome";
    margin-left: 0;
}

.woocommerce li .product-thumbnail-outer .add_to_cart_button.added:before {
    display: none;
}

.woocommerce li .product-thumbnail-outer .added_to_cart.wc-forward {
    display: none;
}


/* product details */

.single-product-image {
    position: relative;
}

.woocommerce div.product .single-product-details .woocommerce-product-rating {
    margin-bottom: 2px;
}

.woocommerce button.button {
    border-radius: 2px;
    padding: 8px 20px;
    font-weight: 400;
}

.woocommerce button.button:focus {
    outline: 0;
}

.woocommerce button.button.alt,
.woocommerce button.button.alt:hover {
    color: #000;
}

.woocommerce div.product form.cart .button:focus {
    outline: 0;
}

.related-title {
    margin-bottom: 30px;
}


/* widget */

.woocommerce-product-search input[type=search] {
    border: 1px solid #f2f2f2;
}

.woocommerce-product-search input[type=submit] {
    border: none;
    padding: 2px 10px;
    border-radius: 2px;
}


/* menu item */

.woo-menu-item-add {
    position: relative;
}

.woo-menu-item-add .woo-cart {
    display: inline-block;
    position: absolute;
    right: 80px;
    top: 18px;
    z-index: 4;
}

.cart-has-products {
    border-radius: 100%;
    font-size: 12px;
    font-weight: normal;
    line-height: 20px;
    margin-right: -2px;
    text-align: center;
    width: 20px;
    height: 20px;
    position: relative;
    display: inline-block;
    color: #fff;
}


/* *************************************
****** Woocommerce Product Zoom ********
************************************** */

.cloud-zoom-lens {
    border: 4px solid #888;
    margin: -4px;
    background-color: #fff;
    cursor: move;
}

.cloud-zoom-title {
    font-family: Arial, Helvetica, sans-serif;
    position: absolute !important;
    background-color: #000;
    color: #fff;
    padding: 3px;
    width: 100%;
    text-align: center;
    font-weight: bold;
    font-size: 10px;
    top: 0px;
}

.cloud-zoom-wrap {
    top: 0;
    z-index: 0;
    position: relative;
}

.cloud-zoom-big {
    border: 4px solid #ccc;
    overflow: hidden;
}

.cloud-zoom-loading {
    color: white;
    background: #222;
    padding: 3px;
    border: 1px solid #000;
}

.extra-time-goal {
    width: 400px;
    margin: 0 auto;
    left: 100px;
    position: relative;
    top: 25px;
}






/* Schedule Event Listing */
.speaker-wrap img {
    width: 90px;
    border-radius: 50%;
    float: left;
    margin-right: 30px;
}
.event-content {
    background: rgba(16, 16, 16, 0.9);
    min-height: 120px;
    padding: 15px;
    transition: .6s
}
.event-content-wrap {
    background: rgba(16, 16, 16, 0.9);
    padding: 0;
    margin: 0;
    min-height: 120px;
    margin-top: -20px;
    transition: .6s
}
.event-schedules-list .col-md-4 {
    padding-left: 0;
}
.event-schedules-list .col-md-6 {
    padding-right: 0;
    /*margin-top: 20px;*/
}
.wrap a.speaker {
    display: block;
}
.event-schedules-list h3.speaker, .event-schedules-list h3.genre {
    font-size: 20px;
    font-weight: 500;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #ffffff;
    text-transform: capitalize;
    margin: 22px 0 0;
}
.event-schedules-list span.designation, .event-schedules-list .event-content span {
    font-size: 14px;
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #c5c5c5;
}
.event-content-wrap h3.start-time, .event-content-wrap .end-time {
    font-size: 18px;
    font-weight: 500;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
    color: #ee3a52;
    padding-top: 20px;
}
.schedule-row {
    transition: .3s;
    margin-bottom: 15px;
}
.schedule-row:hover .event-content-wrap,
.schedule-row:hover .event-content
 {
    background: rgba(238, 58, 82, 0.9);
}
.row.schedule-row .col-md-2 {
    padding: 0;
}
.schedule-row:hover .event-content-wrap h3.start-time, .schedule-row:hover .event-content-wrap .end-time {
    color: #fff;
}
.event-schedules-list h2.event-title {
    color: #fff;
}
.event-schedules-list .scedule-date span {
    font-size: 16px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.88;
    letter-spacing: normal;
    color: #c5c5c5;
}
h3.end-time.animated.fadeIn {
    font-size: 18px;
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: center;
    color: #d9d9d9;
}
.event-schedules-list .col-md-6 .speaker-wrap.event-content {
    margin-left: 15px;
    padding-left: 20px;
}
.speaker-wrap.event-content .wrap {
    margin-top: 22px;
}
.event-schedules-list span.scedule-date {
    font-size: 16px;
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.88;
    letter-spacing: normal;
    color: #c5c5c5;
}
.event-schedules-list span.scedule-date span {
    padding-left: 5px;
}

.parallax-section {
    min-height: 200px;
    width: 100%;
    background-repeat: no-repeat;
    background-attachment: fixed;
    background-size: cover;
}
.developer .shortcode-event-countdown #countdown-timer {
    border-radius: 4px;
    background-color: #1bae7c;
}
.developer span.countdown-amount {
    font-size: 32px;
    font-weight: 900;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.56;
    letter-spacing: normal;
    text-align: center;
    color: #ffffff !important;
}

.developer .countdown-section span.countdown-period {
    font-size: 18px !important;
    font-weight: normal !important;
    font-style: normal !important;
    font-stretch: normal !important;
    line-height: 1 !important;
    letter-spacing: 1.8px !important;
    text-align: center !important;
    color: #ffffff;
    margin-top: 0 !important;
}
.developer #countdown-timer>.countdown-section {
    display: block;
    float: center;
    font-size: inherit;
    line-height: 1;
    color: #fff;
    letter-spacing: 3px;
    margin: 0px 15px;
}

.developer #countdown-timer {
    font-weight: 400;
    margin: 0;
    padding: 15px 15px 20px;
    text-align: center;
}








.home-contact input.wpcf7-form-control::placeholder {
    color: #fff;
}
.home-contact input.wpcf7-form-control {
    background: #139368;
    border-color: #139368;
    font-size: 14px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.43;
    letter-spacing: normal;
    color: #ffffff;
    margin-bottom: 10px;
}
.home-contact input.wpcf7-form-control.wpcf7-submit {
    font-size: 14px;
    font-weight: bold;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.43;
    letter-spacing: normal;
    text-align: center;
    color: #131d30;
    text-transform: uppercase;
    background: #fff !important;
    padding: 14px 32px 11px;
    transition: .3s;
    margin-top: 10px;
}
.home-contact input.wpcf7-form-control.wpcf7-submit:hover {
    background: #139368 !important;
    color: #fff;
}
.col-md-7.contact-help {
    font-size: 16px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 20px;
    letter-spacing: normal;
    color: #46eeb5;
    margin-top: 12px;
    margin-left: -16px;
}
.col-md-7.contact-help span{
    color: #fff;
    font-weight: 500;
}
.speaker-image-wrapper img.img-responsive {
    width: 100%;
    transition: .3s;
}
.sp-speaker.speaker-listing-wrap {
    position: relative;
    overflow: hidden;
}
.speaker-image-wrapper .speaker-info-wrap {
    position: absolute;
    bottom: 30px;
    left: 30px;
}
.sp-speaker.speaker-listing-wrap .speaker-title {
    font-size: 24px;
    font-weight: bold;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #ffffff;
}
.sp-speaker.speaker-listing-wrap .speaker-designation {
    margin: 0;
    line-height: 1;
    color: #333;
    font-size: 16px;
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #ffffff;
}
.speaker-info-wrap {
    position: absolute;
    bottom: -16px;
    width: 100%;
    padding: 0 30px;
    transition: .3s;
}
.sp-speaker.speaker-listing-wrap:hover .speaker-info-wrap {
    bottom: 20px;
}
.sp-speaker.speaker-listing-wrap:hover .speaker-info-wrap .social-icons {
    opacity: 1
}
.speaker-info-wrap ul.social-links {
    padding: 0;
    margin: 0;
    margin-top: 10px;
}
.speaker-info-wrap ul.social-links li {
    display: inline-block;
    margin: 0;
    padding: 0;
}
.speaker-info-wrap ul.social-links li {
    display: inline-block;
    margin: 0;
    padding: 0;
}
.speaker-info-wrap ul.social-links li a {
    transition: .3s;
    width: 33px;
    height: 33px;
    display: inline-block;
    padding: 5px 9px;
    border-radius: 50%;
    text-align: center;
}
.speaker-info-wrap ul.social-links li:hover a {
    background: #fff;

}
.speaker-info-wrap .social-icons {
    opacity: 0;
}

.sp-speaker.speaker-listing-wrap .speaker-title a {
    color: #fff;
    transition: 400ms;
    -webkit-transition: 400ms;
}
.sp-speaker.speaker-listing-wrap .speaker-title {
    margin: 20px 0 0px;
}
.sp-speaker.speaker-listing-wrap .speaker-title a {
    text-transform: capitalize;
    font-weight: 400;
}


.themeum-speaker-listing .row .position:nth-child(2) {
    margin-top: 50px;
}

.themeum-speaker-listing .row .position:nth-child(3) {
    margin-top: 100px;
}
.position .sp-speaker.speaker-listing-wrap .speaker-image-wrapper img {
    filter: grayscale(100%);
    filter: gray;
    -webkit-filter: grayscale(1);
    transition: filter var(--motion-base) var(--ease-standard),
        transform var(--motion-base) var(--ease-standard);
}
.sp-speaker.speaker-listing-wrap:hover .speaker-image-wrapper img {
    filter: none;
    -webkit-filter: grayscale(0);
    transform: scale(1.04);
}
.speaker-wrap.event-content:after {
    content: "";
    position: absolute;
    background: rgba(255, 255, 255, 0.18);
    border-radius: 4px;
    right: 0;
    top: 32%;
    width: 1px;
    height: 49px;
}
.contact-form-7.home-contact.games h2 {
    font-size: 24px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    text-align: left;
    color: #131d30;
    margin-bottom: 40px;
    margin-top: 0;
}
.contact-form-7.home-contact.games {
    padding: 0px 28px 0px;
    display: inline-block;
    height: 100%;
    width: 100%;
    z-index: 999999999999999;
}
.games-map {
    z-index: 9;
}
.games .select-cfrom {
    padding: 10px;
    border: 1px solid rgba(255, 255, 255, 0.1);
    border-radius: 4px;
    background-color: #ececec;
    color: #5e6571;
}

.home-contact.games input.wpcf7-form-control {
    background: #ececec;
    border-color: #ececec;
    font-size: 14px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.43;
    letter-spacing: normal;
    color: #5e6571;
    margin-bottom: 10px;
}

.home-contact.games input.wpcf7-form-control::placeholder {
    color: #5e6571;
}
.home-contact.games input.wpcf7-form-control.wpcf7-submit {
    font-size: 14px;
    font-weight: bold;
    font-style: normal;
    font-stretch: normal;
    line-height: 1.43;
    letter-spacing: normal;
    text-align: center;
    color: #131d30;
    text-transform: uppercase;
    /* background: #fff !important; */
    padding: 14px 32px 11px;
    transition: .3s;
    margin-top: 20px;
    border-radius: 4px;
    background-color: #ff8a00 !important;
    color: #fff !important;
}
.home-contact.games .col-md-6.contact-help {
    font-size: 16px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 20px;
    letter-spacing: normal;
    color: #5e6571;
    margin-top: 24px;
    margin-left: -28px;
}
.home-contact.games .col-md-6.contact-help span{
    color: #0547f7;
    font-weight: 500;
}



.themeum-event-image img {
    width: 50px;
    margin: 0 auto;
}

.home-layout4 .eventum-schedules.layout-tabbed.layout-tabbed2 .events-nav {
    text-align: left;
}
.home-layout4 .eventum-schedules.layout-tabbed .events-nav>li .scedule-date>span {
    color: rgba(255, 255, 255, 0.7)!important;
    font-size: 28px;
    font-weight: bold;
}
.home-layout4 .eventum-schedules.layout-tabbed.layout-tabbed2 .events-nav>li {
    margin: 0 60px 0 0;
}
.home-layout4 span.scedule-date {
    font-size: 20px;
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 44px;
    letter-spacing: normal;
    color: rgba(255, 255, 255, 0.7)!important;
}

.home-layout4 .eventum-schedules.layout-tabbed .events-nav>li.active .scedule-date>span {
    color: #fff!important;
    font-size: 28px;
    font-weight: bold;
}
.home-layout4 .events-nav>li.active span.scedule-date {
    color: #fff!important;
}

.home-layout4 .eventum-schedules.layout-tabbed.layout-tabbed2 {
    border-bottom: 3px solid rgba(255, 255, 255, 0.3);
    padding-bottom: 20px;
}

.home-layout4 .eventum-schedules.layout-tabbed.layout-tabbed2 .events-nav>li.active>a:after {
    content: "";
    position: absolute;
    top: 50px;
    left: 0;
    width: 120%;
    border-width: 1.5px;
    border-color: #ff8a00;
}
.home-layout4 .eventum-schedules .table-hover th {
    background-color: #5649f8;
    border-top: 1px solid #dedede;
    border-bottom: 1px solid #5649f8;
    font-weight: 600;
    color: #fff;
}
.home-layout4.schedules-layout-tabbed .table,
.home-layout4 .eventum-schedules.schedules-list .table-hover thead {
    border: 1px solid #6152f9;
}

.home-layout4 .eventum-schedules .table-hover th, .home-layout4 .eventum-schedules .table-hover td {
    padding: 23px 30px;
}
.home-layout4 .eventum-schedules .table-hover td {
    padding: 23px 30px;
    font-size: 14px;
    text-transform: uppercase;
    vertical-align: middle;
    font-size: 16px;
    font-weight: 300;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #5e6571;
    text-transform: capitalize;
}
.home-layout4.schedules-layout-tabbed .table, .home-layout4 .eventum-schedules.schedules-list .table-hover thead tr th {
    border: 1px solid #6152f9;
    text-transform: capitalize;
    font-size: 18px;
    font-weight: 500;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #ffffff;
}
.home-layout4 .eventum-schedules .table-hover tr:hover a.speaker {
    color: #6152f9;
}
.style4 .sp-speaker.speaker-listing-wrap:hover .speaker-info-wrap {
    bottom: 0px;
    padding-bottom: 16px;
    background: #2979ff;
}
.style4 .sp-speaker.speaker-listing-wrap:hover .speaker-info-wrap a,
.style4 .sp-speaker.speaker-listing-wrap:hover .speaker-info-wrap .speaker-designation{
    color: #fff !important;
}
.style4 .sp-speaker.speaker-listing-wrap .speaker-info-wrap .social-icons a:hover {
    color: #3084ff !important;
}
.style4 .sp-speaker.speaker-listing-wrap:hover .speaker-info-wrap .social-icons a{
    color: #3084ff;
}
.style4 .speaker-info-wrap {
    background: #fff;
}
.style4 .sp-speaker.speaker-listing-wrap .speaker-title {
    font-size: 18px;
    font-weight: bold;
    font-style: normal;
    font-stretch: normal;
    line-height: normal;
    letter-spacing: normal;
    color: #2979ff;
    margin-bottom: 6px;
}

.music-event-btn a.thm-color.themeum_button_shortcode {
    border: 1px solid #fff;
}
.music-event-btn a.thm-color.themeum_button_shortcode:hover {
    border: 1px solid #f0435c;
}


/* BungeeInline Regular */
@font-face {
    font-family: 'BungeeInline-Regular';
    font-style: normal;
    font-weight: 400;
    src: url('../fonts/BungeeInline-Regular.ttf'); /* IE9 Compat Modes */
}

.developer h4.style-sub-title {
    font-family: "BungeeInline-Regular";
    font-weight: normal;
    font-style: normal;
    font-stretch: normal;
    line-height: 0.93;
    letter-spacing: normal;
    color: #ffffff;
}

.developer .themeum_button_shortcode {
    border: 1px solid rgb(56, 219, 164);
    text-transform: uppercase;
}
.vc_row-fluid.developer.parallax-section {
    min-height: 200px;
    width: 100%;
    background-repeat: no-repeat;
    background-attachment: fixed !important;
    background-size: cover;
}
.developer.tag h4.style-sub-title:before {
    content: "<";
    color: #38dba4;
}
.developer.tag h4.style-sub-title:after {
    content: "/>";
    color: #38dba4;
}

/* ==========================================================================
   Nobo editorial timeline (nobo-core [nobo_timeline])
   Replaces Cool Timeline Pro. Photo-essay direction: a quiet parchment spine,
   small sans metadata, strong serif story titles and flat framed media.
   Uses theme design tokens; no plugin CSS/JS.
   ========================================================================== */
.nobo-timeline {
    --nobo-tl-accent: var(--color-action);
    --nobo-tl-line: rgba(42, 23, 18, 0.24);
    --nobo-tl-canvas: var(--color-surface);
    --nobo-tl-frame: var(--color-surface-strong);
    max-width: 1120px;
    margin: var(--space-10) auto;
    padding: 0 var(--space-3);
    font-family: var(--font-family-body);
    color: var(--color-text);
}

.nobo-timeline__title {
    max-width: 14ch;
    margin: 0 auto var(--space-8);
    font-family: var(--font-family-display);
    font-size: var(--font-size-3xl);
    line-height: var(--leading-tight);
    text-align: center;
    text-wrap: balance;
    color: var(--color-heading);
}

.nobo-timeline__track {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
}

/* The spine: a single quiet hairline, centered on desktop. */
.nobo-timeline__track::before {
    content: "";
    position: absolute;
    top: var(--space-2);
    bottom: var(--space-2);
    left: 50%;
    width: 1px;
    transform: translateX(-50%);
    background: linear-gradient(
        180deg,
        transparent,
        var(--nobo-tl-line) var(--space-5),
        var(--nobo-tl-line) calc(100% - var(--space-5)),
        transparent
    );
}

.nobo-timeline__year {
    position: relative;
    z-index: 1;
    width: max-content;
    margin: var(--space-7) auto var(--space-4);
    padding: 0.65rem 1.35rem 0.58rem;
    border: 1px solid rgba(42, 23, 18, 0.14);
    background: var(--nobo-tl-frame);
    box-shadow: 0 10px 26px rgba(42, 23, 18, 0.07);
    font-family: var(--font-family-body);
    font-size: var(--font-size-sm);
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    color: var(--color-heading);
    text-align: center;
}

.nobo-timeline__entry {
    position: relative;
    width: 50%;
    box-sizing: border-box;
    margin: var(--space-5) 0 var(--space-8);
    padding: 0 var(--space-5);
}

.nobo-timeline__entry.is-left {
    margin-right: 50%;
    text-align: right;
}

.nobo-timeline__entry.is-right {
    margin-left: 50%;
    text-align: left;
}

/* Node marker on the spine. */
.nobo-timeline__node {
    position: absolute;
    top: 0.85rem;
    width: 15px;
    height: 15px;
    border-radius: var(--radius-full);
    border: 3px solid var(--nobo-tl-frame);
    background: var(--nobo-tl-accent);
    box-shadow: 0 0 0 1px rgba(183, 101, 63, 0.28);
}

.nobo-timeline__entry.is-left .nobo-timeline__node {
    right: calc(-7.5px - 0.5px);
}

.nobo-timeline__entry.is-right .nobo-timeline__node {
    left: calc(-7.5px - 0.5px);
}

.nobo-timeline__card {
    display: block;
    max-width: 34rem;
}

.nobo-timeline__entry.is-left .nobo-timeline__card {
    margin-left: auto;
}

.nobo-timeline__entry.is-right .nobo-timeline__card {
    margin-right: auto;
}

.nobo-timeline__head {
    display: grid;
    gap: 0.38rem;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin-bottom: var(--space-3);
}

.nobo-timeline__date {
    display: block;
    color: var(--color-clay-600);
    font-family: var(--font-family-body);
    font-size: var(--font-size-xs);
    font-style: normal;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.nobo-timeline__eyebrow {
    margin: 0;
    color: var(--color-text-soft);
    font-size: var(--font-size-xs);
    font-weight: 700;
    line-height: 1.2;
    text-transform: uppercase;
    letter-spacing: 0.16em;
}

.nobo-timeline__heading {
    margin: 0;
    font-family: var(--font-family-display);
    font-size: var(--font-size-2xl);
    font-weight: 700;
    letter-spacing: 0;
    line-height: var(--leading-tight);
    text-wrap: balance;
    color: var(--color-heading);
}

.nobo-timeline__media {
    display: grid;
    gap: 0.5rem;
    margin: 0 0 var(--space-3);
    grid-template-columns: repeat(2, 1fr);
}

.nobo-timeline__media[data-count="1"] {
    grid-template-columns: 1fr;
}

.nobo-timeline__figure {
    margin: 0;
    overflow: hidden;
    border-radius: 12px;
}

.nobo-timeline__media[data-count="3"] .nobo-timeline__figure:first-child {
    grid-column: 1 / -1;
}

.nobo-timeline__zoom {
    display: block;
}

.nobo-timeline__zoom:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 3px;
}

.nobo-timeline__figure img {
    display: block;
    width: 100%;
    height: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.nobo-timeline__media[data-count="1"] .nobo-timeline__figure img {
    aspect-ratio: 16 / 10;
}

.nobo-timeline__zoom:hover img,
.nobo-timeline__zoom:focus-visible img {
    transform: scale(1.03);
}

.nobo-timeline__body {
    max-width: var(--measure);
    color: var(--color-text);
    font-size: var(--font-size-base);
    line-height: var(--leading-normal);
}

.nobo-timeline__entry.is-left .nobo-timeline__body {
    margin-left: auto;
}

.nobo-timeline__body h2,
.nobo-timeline__body h3,
.nobo-timeline__body h4 {
    margin: var(--space-3) 0 var(--space-2);
    color: var(--color-heading);
    font-family: var(--font-family-body) !important;
    font-size: var(--font-size-lg) !important;
    font-weight: 800;
    letter-spacing: 0;
    line-height: var(--leading-snug);
    text-align: inherit !important;
    text-wrap: balance;
}

.nobo-timeline__body p,
.nobo-timeline__body ul,
.nobo-timeline__body ol {
    margin: 0 0 var(--space-2);
}

.nobo-timeline__body a {
    font-weight: 700;
}

.nobo-timeline__body img {
    display: block;
    float: none !important;
    width: 100%;
    max-width: 100%;
    height: auto;
    margin: var(--space-2) 0 0 !important;
    border-radius: 12px;
}

.nobo-timeline__body .alignleft,
.nobo-timeline__body .alignright,
.nobo-timeline__body .aligncenter {
    float: none;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

.nobo-timeline__body :first-child {
    margin-top: 0;
}

.nobo-timeline__body :last-child {
    margin-bottom: 0;
}

/* Left-side entries read right-to-left; keep media/text block tidy. */
.nobo-timeline__entry.is-left .nobo-timeline__media {
    direction: ltr;
}

.nobo-timeline__empty {
    text-align: center;
    color: var(--color-text-soft);
}

/* Optional, non-blocking entrance. Content is visible without JS; this only
   plays once on load and never leaves content hidden. */
@media (prefers-reduced-motion: no-preference) {
    .nobo-timeline.is-animated .nobo-timeline__entry {
        animation: nobo-timeline-rise 0.6s ease both;
    }
}

@keyframes nobo-timeline-rise {
    from {
        opacity: 0;
        transform: translateY(16px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Single-column on tablet and below: spine to the left, all cards right. */
@media (max-width: 860px) {
    .nobo-timeline__track::before {
        left: 7px;
        transform: none;
    }

    .nobo-timeline__year {
        margin-left: 0;
        margin-right: auto;
        padding-left: var(--space-2);
        padding-right: var(--space-2);
        text-align: left;
    }

    .nobo-timeline__entry,
    .nobo-timeline__entry.is-left,
    .nobo-timeline__entry.is-right {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding: 0 0 0 var(--space-5);
        text-align: left;
    }

    .nobo-timeline__card {
        max-width: none;
    }

    .nobo-timeline__entry.is-left .nobo-timeline__node,
    .nobo-timeline__entry.is-right .nobo-timeline__node {
        left: 0;
        right: auto;
    }

    .nobo-timeline__entry.is-left .nobo-timeline__card,
    .nobo-timeline__entry.is-right .nobo-timeline__card,
    .nobo-timeline__entry.is-left .nobo-timeline__body {
        margin-left: 0;
        margin-right: 0;
    }
}

@media (max-width: 540px) {
    .nobo-timeline__media,
    .nobo-timeline__media[data-count="3"] .nobo-timeline__figure:first-child {
        grid-template-columns: 1fr;
        grid-column: auto;
    }
}

/* ==========================================================================
   Sunset-gradient legibility pass (page-agnostic)
   The theme's component overrides were scoped to .page-id-868 (cost-share),
   so the home page rendered WPBakery defaults that wash out on the new
   sunset gradient. These unscoped baselines fix contrast everywhere while
   .page-id-868's higher-specificity rules still win on that page.
   Grounded in refero research (BlueYard / mymind / Poly): dark text, opaque
   warm surfaces, one restrained accent, legible display type.
   ========================================================================== */

/* Decorative WPBakery display quote shipped with inline `color: lightgrey`
   — invisible on peach. Keep it quiet but AA-legible. */
.wpb_text_column [style*="lightgrey"],
.wpb_text_column [style*="light grey"],
.wpb_text_column [style*="lightGrey"] {
    color: var(--color-text-soft) !important;
}

/* Note: faint Camp Values / amenity icons shipped with inline
   `color:#dbd1d1|#aa8d79|#bdc3c7 !important`. Inline !important cannot be
   overridden from a stylesheet, so those were recolored to the dark brand neutral
   in the page content itself (post 70, backed up to
   _nobo_sunset_iconcolor_backup_v1). Intentional colored icons (red heart,
   navy plane, brown handshake) were left as-is. */

/* Camp Capacity — a campsite occupancy gauge (nobo-core .nobo-capacity
   wrapper). Redesigned as a recessed warm channel with quarter ticks and
   a dark bark fill whose leading edge catches a soft gold "sunset" light.
   Role contract held: fill = bark neutral (structure, not a CTA — clay never
   touches data); leading light = gold (highlight role); clay = eyebrow
   only. The built-in vc_label is low-contrast and replaced by our
   accessible caption below. */
.nobo-capacity {
    max-width: 640px;
    margin: 0 auto var(--space-6);
    text-align: center;
}

/* vc_text_separator title -> eyebrow voice (bridges serif display and
   sans body, per the system's third type voice). Drop the rule lines. */
.nobo-capacity .vc_sep_holder {
    display: none;
}

.nobo-capacity .vc_text_separator,
.nobo-capacity .vc_separator {
    display: block;
    margin: 0 0 var(--space-3);
    border: 0;
    background: none;
}

.nobo-capacity .vc_text_separator h2,
.nobo-capacity .vc_text_separator h3,
.nobo-capacity .vc_text_separator h4,
.nobo-capacity .vc_separator h2,
.nobo-capacity .vc_separator h3,
.nobo-capacity .vc_separator h4 {
    margin: 0;
    color: var(--color-accent);
    font-family: var(--font-family-eyebrow) !important;
    font-size: var(--font-size-xs) !important;
    font-weight: 700;
    letter-spacing: var(--tracking-eyebrow);
    line-height: 1.2;
    text-transform: uppercase;
}

/* Recessed channel: warm bark tint on the sunset canvas, with an
   inset shadow so the gauge reads as carved rather than printed (Raus —
   depth from surface and border, not heavy drop shadows). */
.nobo-capacity .vc_single_bar {
    position: relative;
    overflow: hidden;
    height: 22px;
    border: 1px solid var(--color-border-strong);
    border-radius: var(--radius-pill);
    background: rgba(23, 54, 41, 0.1);
    box-shadow:
        inset 0 1px 3px rgba(42, 23, 18, 0.16),
        0 1px 0 rgba(255, 255, 255, 0.55);
}

/* Quarter ticks (25/50/75) — the borrowed field-instrument detail,
   warm-adapted. Centered hairlines so it reads as a gauge, not dividers;
   sits above the fill at low opacity so the scale stays legible. */
.nobo-capacity .vc_single_bar::after {
    content: '';
    position: absolute;
    inset: 6px 0;
    pointer-events: none;
    background-image: repeating-linear-gradient(
        90deg,
        transparent 0,
        transparent calc(25% - 1px),
        rgba(42, 23, 18, 0.28) calc(25% - 1px),
        rgba(42, 23, 18, 0.28) 25%
    );
    /* Trim the redundant tick the repeat would place on the far edge. */
    -webkit-mask-image: linear-gradient(90deg, #000 0, #000 99%, transparent 99%);
    mask-image: linear-gradient(90deg, #000 0, #000 99%, transparent 99%);
}

/* Evergreen fill with a soft cylindrical sheen (top lighter -> base). */
.nobo-capacity .vc_bar {
    position: relative;
    display: block;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(
        180deg,
        var(--color-bark-700) 0%,
        var(--color-bark-900) 55%,
        var(--color-bark-950) 100%
    );
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

/* Sunset light catching the filled edge — gold in its highlight role. */
.nobo-capacity .vc_bar::after {
    content: '';
    position: absolute;
    top: -2px;
    bottom: -2px;
    right: -1px;
    width: 14px;
    border-radius: var(--radius-pill);
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(199, 161, 82, 0.55) 60%,
        rgba(199, 161, 82, 0.92) 100%
    );
    filter: blur(0.5px);
}

/* One-time sheen sweep as the gauge settles — calm, not a loader. */
.nobo-capacity .vc_bar::before {
    content: '';
    position: absolute;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(
        100deg,
        transparent 35%,
        rgba(255, 254, 251, 0.22) 50%,
        transparent 65%
    );
    transform: translateX(-100%);
    animation: nobo-capacity-sheen 1100ms var(--ease-expressive) 320ms 1 both;
}

@keyframes nobo-capacity-sheen {
    to {
        transform: translateX(100%);
    }
}

.nobo-capacity .vc_label {
    display: none !important;
}

/* Readout: small tracked context flanking a large serif number — the
   percentage is the hero (Raus: understated label, confident figure). */
.nobo-capacity__caption {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 0.85ch;
    margin: var(--space-3) 0 0;
    color: var(--color-text-soft);
    font-size: var(--font-size-xs);
    font-weight: 700;
    letter-spacing: var(--tracking-eyebrow);
    text-transform: uppercase;
}

.nobo-capacity__caption strong {
    color: var(--color-heading);
    font-family: var(--font-family-display) !important;
    font-size: var(--font-size-xl);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    letter-spacing: var(--tracking-heading);
    text-transform: none;
}

@media (prefers-reduced-motion: reduce) {
    .nobo-capacity .vc_bar::before {
        animation: none;
        opacity: 0;
    }
}

/* Budget breakdown — nobo-core .nobo-budget-chart, a dependency-free
   horizontal stacked bar that replaces the legacy easy-charts plugin.
   Presented on a recessed light panel so the saturated category colours
   read against the warm canvas. The screen-reader data table carries the
   real figures; the coloured bar is decorative. */
.nobo-budget-chart {
    max-width: 960px;
    margin: 0 auto var(--space-6);
    padding: var(--space-5) var(--space-4) var(--space-4);
    background: var(--color-sand-50);
    border-radius: var(--radius-lg);
}

.nobo-budget-chart__caption {
    margin: 0 0 var(--space-4);
    text-align: center;
}

.nobo-budget-chart__title {
    display: block;
    color: var(--color-heading);
    font-family: var(--font-family-display);
    font-size: var(--font-size-lg);
    font-weight: 700;
    letter-spacing: var(--tracking-heading);
}

.nobo-budget-chart__subtitle {
    display: block;
    margin-top: var(--space-1);
    color: var(--color-accent);
    font-family: var(--font-family-eyebrow);
    font-size: var(--font-size-xs);
    font-weight: 700;
    letter-spacing: var(--tracking-eyebrow);
    text-transform: uppercase;
}

.nobo-budget-chart__plot {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
}

.nobo-budget-chart__row {
    display: flex;
    align-items: stretch;
    gap: var(--space-3);
}

.nobo-budget-chart__row-label {
    flex: 0 0 3.5rem;
    align-self: center;
    color: var(--color-heading);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.nobo-budget-chart__bar {
    display: flex;
    flex: 1 1 auto;
    min-height: 3rem;
    overflow: hidden;
    border-radius: var(--radius-sm);
}

.nobo-budget-chart__seg {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    color: var(--color-bark-950);
    font-size: var(--font-size-sm);
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.nobo-budget-chart__seg-value {
    padding: 0 0.25rem;
}

.nobo-budget-chart__axis {
    display: flex;
    justify-content: space-between;
    margin: var(--space-1) 0 0 calc(3.5rem + var(--space-3));
    color: var(--color-text);
    font-size: var(--font-size-xs);
    font-variant-numeric: tabular-nums;
}

.nobo-budget-chart__axis-unit {
    margin: 0;
    color: var(--color-text);
    font-size: var(--font-size-xs);
    text-align: right;
}

.nobo-budget-chart__legend {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1) var(--space-3);
    justify-content: center;
    margin: var(--space-4) 0 0;
    padding: 0;
    list-style: none;
}

.nobo-budget-chart__legend-item {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    color: var(--color-text);
    font-size: var(--font-size-sm);
}

.nobo-budget-chart__legend-swatch {
    display: inline-block;
    width: 0.85rem;
    height: 0.85rem;
    border-radius: var(--radius-sm);
}

@media (max-width: 600px) {
    .nobo-budget-chart__seg-value {
        font-size: var(--font-size-xs);
    }

    .nobo-budget-chart__row-label {
        flex-basis: 2.5rem;
    }
}

/* WPBakery message/notice box — readable on the warm canvas. */
.vc_message_box {
    color: var(--color-text);
}

.vc_message_box p {
    color: var(--color-text);
}

.vc_message_box.vc_color-warning {
    border: 1px solid rgba(183, 101, 63, 0.4);
    border-left: 4px solid var(--color-action);
    background: #fff6ea;
}

.vc_message_box.vc_color-warning .vc_message_box-icon {
    display: inline-flex;
    color: var(--color-action);
}

/* ==========================================================================
   IA / Nav restructure — grouped primary nav CTA + footer sitemap
   ========================================================================== */

/* Keep the primary bar on a single line */
#main-menu .nav {
    white-space: nowrap;
}

/* Apply = compact brand CTA, separated from the standard nav underline.
   Base CTA appearance lives here; the homepage transparent-header variant
   overrides only deltas in assets/css/tokens.css (.nav-cta rules). */
#main-menu .nav > li.nav-cta {
    margin-left: 20px;
}

#main-menu .nav > li.nav-cta > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-sizing: border-box;
    min-height: 42px;
    height: 42px;
    margin-top: 11px;
    padding: 0 21px 0 23px;
    border: 1px solid rgba(255, 254, 251, 0.32);
    border-radius: var(--radius-pill);
    background: var(--color-action);
    color: var(--color-on-action);
    font-family: var(--font-family-body) !important;
    font-size: var(--font-size-xs) !important;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.12em;
    text-decoration: none !important;
    text-shadow: 0 1px 1px rgba(42, 23, 18, 0.22);
    text-transform: uppercase;
    box-shadow: 0 10px 22px rgba(42, 23, 18, 0.22), 0 0 0 1px rgba(237, 25, 129, 0.12);
    transition: background 200ms ease, transform 200ms ease, box-shadow 200ms ease, border-color 200ms ease;
}

#main-menu .nav > li.nav-cta > a::after {
    content: "\2192";
    position: static;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: var(--radius-pill);
    background: rgba(255, 254, 251, 0.18);
    color: var(--color-gold-400);
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    transform: none;
    transition: background 200ms ease, color 200ms ease, transform 200ms ease;
}

#main-menu .nav > li.nav-cta > a:hover,
#main-menu .nav > li.nav-cta > a:focus,
#main-menu .nav > li.nav-cta.current-menu-item > a,
#main-menu .nav > li.nav-cta.current_page_item > a {
    border-color: rgba(255, 254, 251, 0.42);
    background: var(--color-action-hover);
    color: var(--color-on-action);
    transform: translateY(-1px);
    box-shadow: 0 14px 26px rgba(42, 23, 18, 0.28), 0 0 0 1px rgba(237, 25, 129, 0.14);
}

#main-menu .nav > li.nav-cta > a:hover::after,
#main-menu .nav > li.nav-cta > a:focus::after,
#main-menu .nav > li.nav-cta.current-menu-item > a::after,
#main-menu .nav > li.nav-cta.current_page_item > a::after {
    background: rgba(255, 254, 251, 0.24);
    color: var(--color-sand-50);
    transform: translateX(2px);
}

#main-menu .nav > li.nav-cta > a:focus-visible {
    outline: 2px solid rgba(255, 254, 251, 0.92);
    outline-offset: 3px;
}

/* Footer sitemap: Explore | For Members | Connect */
.footer-columns {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
    gap: 30px 56px;
    max-width: 1170px;
    text-align: left;
    margin: 0 auto 26px;
}

.footer-nav {
    grid-column: span 3;
    margin: 0;
}

.footer-nav .footer-menu {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
    gap: 30px 56px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-nav .footer-menu > li {
    display: block;
    margin: 0;
    min-width: 0;
}

.footer-nav .footer-menu > li > a,
.footer-col--connect .footer-col-title {
    display: block;
    margin: 0 0 14px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.footer-nav .footer-menu > li > .sub-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-nav .footer-menu > li:first-child > .sub-menu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 36px;
}

.footer-nav .footer-menu > li > .sub-menu > li {
    display: block;
    margin: 0 0 9px;
}

.footer-nav .footer-menu > li > .sub-menu > li > a {
    color: rgba(255, 255, 255, 0.72);
    font-size: 14px;
    font-weight: 500;
    text-transform: none;
    letter-spacing: 0;
    transition: color 200ms;
}

.footer-nav .footer-menu > li > .sub-menu > li > a:hover {
    color: #ffffff;
}

.footer-col--connect .footer-contact {
    margin: 0 0 12px;
}

@media (max-width: 991px) {
    .footer-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-width: 760px;
    }

    .footer-nav,
    .footer-col--connect {
        grid-column: 1 / -1;
    }
}

@media (max-width: 767px) {
    .footer-columns {
        display: flex;
        flex-direction: column;
        gap: 24px;
        align-items: center;
        text-align: center;
    }

    .footer-nav .footer-menu {
        display: flex;
        flex-direction: column;
        gap: 24px;
        align-items: center;
        text-align: center;
    }

    .footer-nav .footer-menu > li:first-child > .sub-menu {
        display: block;
    }

    .footer-nav .footer-menu > li > .sub-menu > li {
        margin: 0 0 7px;
    }
}

/* =================================================================
 * Nobo Cost Share — sliding-scale tier selector
 * One scale, not four products. Radio cards drive a single primary
 * CTA; deposit pair sits below as a related-but-quieter section.
 * Token contract: clay-600 eyebrow, Playfair display amounts,
 * magenta-only CTA, clay→gold hairline as the brand signature.
 * ================================================================= */
.nobo-cost-share {
    --nobo-cs-card: var(--color-surface);
    --nobo-cs-card-strong: var(--color-surface-strong);
    --nobo-cs-panel: rgba(255, 250, 242, 0.68);
    --nobo-cs-border: var(--color-border);
    --nobo-cs-border-strong: var(--color-border-strong);
    --nobo-cs-ink: var(--color-heading);
    --nobo-cs-text: var(--color-text);
    --nobo-cs-soft: var(--color-text-soft);
    --nobo-cs-accent: var(--color-clay-600);
    --nobo-cs-gold: var(--color-gold-400);
    --nobo-cs-action: var(--color-action);
    --nobo-cs-action-on: var(--color-on-action);

    max-width: 1120px;
    margin: var(--space-8) auto var(--space-7);
    padding: 0 var(--space-3);
    color: var(--nobo-cs-text);
    font-family: var(--font-family-body);
}

.nobo-cost-share *,
.nobo-cost-share *::before,
.nobo-cost-share *::after {
    box-sizing: border-box;
}

/* The active theme paints global `footer { background:#343d47; color:#fff; }`
   — neutralize any element-type defaults that could leak into the component
   so swapping tags later (or theme drift) can't repaint our surfaces. */
.nobo-cost-share :where(section, header, footer, aside, fieldset) {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: inherit;
}

.nobo-cost-share__header {
    max-width: 58ch;
    margin: 0 auto var(--space-5);
    text-align: center;
}

.nobo-cost-share__eyebrow {
    margin: 0 0 var(--space-2);
    color: var(--nobo-cs-accent);
    font-family: var(--font-family-eyebrow);
    font-size: var(--font-size-xs);
    font-weight: 700;
    letter-spacing: var(--tracking-eyebrow);
    line-height: 1.2;
    text-transform: uppercase;
}

.nobo-cost-share__eyebrow--small {
    font-size: 0.74rem;
}

.nobo-cost-share__title {
    margin: 0 0 var(--space-2);
    color: var(--nobo-cs-ink);
    font-family: var(--font-family-display) !important;
    font-size: 2.75rem !important;
    font-weight: 600;
    letter-spacing: var(--tracking-display);
    line-height: var(--leading-tight);
    text-wrap: balance;
}

.nobo-cost-share__lead {
    margin: 0 auto;
    max-width: 52ch;
    color: var(--nobo-cs-soft);
    font-size: 1.08rem;
    line-height: var(--leading-snug);
    text-wrap: balance;
}

.nobo-cost-share__payment {
    display: grid;
    gap: var(--space-4);
}

.nobo-cost-share__scale {
    margin: 0;
    padding: 0;
    border: 0;
}

.nobo-cost-share__tiers {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.nobo-cost-share__tier {
    position: relative;
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
}

.nobo-cost-share__radio {
    /* Visually hidden but still focusable: drives the styled label */
    position: absolute;
    width: 1px;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    white-space: nowrap;
}

.nobo-cost-share__card {
    position: relative;
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr);
    gap: 0.48rem;
    min-height: 18.5rem;
    padding: 1.65rem 1.45rem 1.45rem;
    border: 1px solid var(--nobo-cs-border);
    border-radius: var(--radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 253, 248, 0.9), rgba(255, 250, 242, 0.98)),
        var(--nobo-cs-card);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.72) inset,
        var(--shadow-sm);
    cursor: pointer;
    transition:
        transform var(--motion-fast) var(--ease-expressive),
        box-shadow var(--motion-fast) var(--ease-expressive),
        border-color var(--motion-fast) var(--ease-expressive),
        background-color var(--motion-fast) var(--ease-expressive);
}

.nobo-cost-share__card:hover {
    transform: translateY(-2px);
    border-color: rgba(157, 81, 50, 0.42);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.78) inset,
        var(--shadow-md);
}

.nobo-cost-share__radio:focus-visible + .nobo-cost-share__card {
    outline: 3px solid var(--focus-ring);
    outline-offset: 3px;
}

.nobo-cost-share__radio:checked + .nobo-cost-share__card {
    border-color: rgba(237, 25, 129, 0.62);
    background:
        linear-gradient(180deg, rgba(255, 253, 248, 1), rgba(255, 247, 239, 0.98)),
        var(--nobo-cs-card-strong);
    box-shadow:
        0 0 0 3px rgba(237, 25, 129, 0.12),
        0 18px 42px rgba(237, 25, 129, 0.12),
        var(--shadow-md);
}

.nobo-cost-share__radio:checked + .nobo-cost-share__card .nobo-cost-share__check {
    opacity: 1;
    filter: blur(0);
    transform: scale(1);
}

.nobo-cost-share__name {
    margin: 0;
    color: var(--nobo-cs-ink);
    font-family: var(--font-family-display);
    font-size: 1.55rem;
    font-weight: 600;
    letter-spacing: var(--tracking-heading);
    line-height: 1.1;
}

.nobo-cost-share__amount {
    display: inline-flex;
    align-items: baseline;
    gap: 0.18rem;
    color: var(--nobo-cs-ink);
    font-family: var(--font-family-display);
    font-weight: 600;
    line-height: 1;
}

.nobo-cost-share__currency {
    font-size: 1.25rem;
    font-weight: 500;
    color: var(--nobo-cs-soft);
}

.nobo-cost-share__amount-num {
    font-size: 3rem;
    letter-spacing: var(--tracking-display);
    font-variant-numeric: lining-nums tabular-nums;
}

.nobo-cost-share__amount-custom {
    font-size: 2rem;
    font-style: italic;
    font-weight: 500;
    /* Match the near-black ink of the other tier amounts. Italic alone
       carries the "custom amount" cue; using the warm clay accent here
       made the Patron card visually shout louder than Core's badge,
       breaking the single-emphasis rule. */
    color: var(--nobo-cs-ink);
    letter-spacing: -0.01em;
}

.nobo-cost-share__for {
    display: block;
    margin: 0;
    color: var(--nobo-cs-soft);
    font-size: var(--font-size-sm);
    font-style: italic;
    line-height: var(--leading-snug);
}

.nobo-cost-share__covers {
    display: block;
    margin: 0;
    color: var(--nobo-cs-text);
    font-size: var(--font-size-sm);
    line-height: 1.5;
    text-wrap: pretty;
}

.nobo-cost-share__check {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: var(--radius-full);
    background: var(--nobo-cs-action);
    opacity: 0;
    filter: blur(4px);
    transform: scale(0.25);
    transition:
        opacity var(--motion-fast) var(--ease-expressive),
        filter var(--motion-fast) var(--ease-expressive),
        transform var(--motion-fast) var(--ease-expressive);
}

.nobo-cost-share__check::after {
    content: "";
    position: absolute;
    top: 0.42rem;
    left: 0.52rem;
    width: 0.38rem;
    height: 0.7rem;
    border: solid var(--nobo-cs-action-on);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.nobo-cost-share__badge {
    position: absolute;
    top: 0.9rem;
    left: 1rem;
    max-width: calc(100% - 4rem);
    align-self: flex-start;
    margin: 0;
    padding: 0.18rem 0.55rem;
    border-radius: var(--radius-pill);
    background: linear-gradient(90deg, rgba(157, 81, 50, 0.14) 0%, rgba(199, 161, 82, 0.22) 100%);
    /* Bark-900 ink instead of clay accent: at 11px small caps the clay
       (#9d5132) on the warm gradient tint sat near the AA 4.5:1 floor;
       the dark warm near-black is ~9:1 on the same backdrop. */
    color: var(--color-bark-900);
    font-family: var(--font-family-eyebrow);
    /* Sized + tracked to keep longer phrases (e.g. "HELPS BALANCE THE
       BUDGET", 23 chars) on a single line inside the card. nowrap stops
       a future longer phrase from silently breaking the badge layout. */
    font-size: 0.6rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 1.2;
    text-transform: uppercase;
    white-space: nowrap;
}

.nobo-cost-share__tier--recommended .nobo-cost-share__card {
    padding-top: 2.85rem;
    border-color: rgba(157, 81, 50, 0.35);
}

.nobo-cost-share__tier--recommended .nobo-cost-share__card::after {
    /* Brand signature hairline: clay → gold, the same gradient used in the
       site footer divider and primary nav underlines. */
    content: "";
    position: absolute;
    left: var(--space-3);
    right: var(--space-3);
    bottom: -1px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--color-clay-500) 0%, var(--color-gold-400) 100%);
}

.nobo-cost-share__patron {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 0.75rem;
    margin: -1px 0 0;
    padding: 0.85rem 1rem 1rem;
    border: 1px solid var(--nobo-cs-border);
    border-top: 0;
    border-radius: 0 0 var(--radius-lg) var(--radius-lg);
    background: rgba(255, 253, 248, 0.74);
    box-shadow: 0 12px 28px rgba(42, 23, 18, 0.06);
    transition:
        border-color var(--motion-fast) var(--ease-expressive),
        box-shadow var(--motion-fast) var(--ease-expressive),
        background-color var(--motion-fast) var(--ease-expressive);
}

.nobo-cost-share__tier--patron .nobo-cost-share__card {
    border-bottom-right-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
}

.nobo-cost-share__tier--patron:has(.nobo-cost-share__radio:checked) .nobo-cost-share__patron {
    border-color: rgba(237, 25, 129, 0.62);
    background: rgba(255, 253, 248, 0.96);
    box-shadow:
        0 0 0 3px rgba(237, 25, 129, 0.1),
        0 18px 42px rgba(237, 25, 129, 0.1);
}

.nobo-cost-share__patron-label {
    color: var(--nobo-cs-accent);
    font-family: var(--font-family-eyebrow);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.nobo-cost-share__patron-input {
    display: inline-flex;
    align-items: center;
    gap: 0.25rem;
    min-height: 2.65rem;
    padding: 0.45rem 0.75rem;
    border: 1px solid var(--nobo-cs-border-strong);
    border-radius: var(--radius-md);
    background: var(--nobo-cs-card-strong);
    color: var(--nobo-cs-ink);
    font-family: var(--font-family-display);
    font-size: var(--font-size-md);
    transition: border-color var(--motion-fast) var(--ease-expressive);
}

.nobo-cost-share__patron-input:focus-within {
    border-color: rgba(237, 25, 129, 0.55);
    box-shadow: 0 0 0 4px rgba(237, 25, 129, 0.12);
}

.nobo-cost-share__patron-field {
    flex: 1;
    min-height: auto;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: inherit;
    font: inherit;
    -moz-appearance: textfield;
}

/* The global input placeholder mix lands at ~4.2:1 on the cream card,
   just below AA. Bump to a warmer, slightly darker brown so the example
   amount is legible without competing with a typed value. */
.nobo-cost-share__patron-field::placeholder {
    color: #7a5a4d;
    opacity: 1;
}

.nobo-cost-share__patron-field::-webkit-outer-spin-button,
.nobo-cost-share__patron-field::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}

.nobo-cost-share__action {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
}

.nobo-cost-share__checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: var(--space-3);
    padding: 1.1rem;
    border: 1px solid rgba(42, 23, 18, 0.1);
    border-radius: var(--radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 253, 248, 0.86), rgba(255, 250, 242, 0.94)),
        var(--nobo-cs-panel);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.78) inset,
        var(--shadow-sm);
}

.nobo-cost-share__summary {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: baseline;
    gap: 0.2rem 0.75rem;
}

.nobo-cost-share__summary-kicker {
    grid-column: 1 / -1;
    color: var(--nobo-cs-accent);
    font-family: var(--font-family-eyebrow);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.nobo-cost-share__summary-name {
    color: var(--nobo-cs-ink);
    font-family: var(--font-family-display);
    font-size: 1.55rem;
    font-weight: 600;
    letter-spacing: var(--tracking-heading);
    line-height: 1.05;
}

.nobo-cost-share__summary-amount {
    color: var(--nobo-cs-soft);
    font-family: var(--font-family-display);
    font-size: 1.35rem;
    font-weight: 600;
    line-height: 1.05;
    font-variant-numeric: lining-nums tabular-nums;
}

.nobo-cost-share__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 3.25rem;
    padding: 0.95rem 1.85rem;
    border-radius: var(--radius-pill);
    background: var(--nobo-cs-action) !important;
    color: var(--nobo-cs-action-on) !important;
    font-family: var(--font-family-body);
    font-size: var(--font-size-sm);
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none !important;
    box-shadow:
        0 16px 34px rgba(237, 25, 129, 0.26),
        0 4px 12px rgba(42, 23, 18, 0.1);
    transition:
        transform var(--motion-fast) var(--ease-expressive),
        box-shadow var(--motion-fast) var(--ease-expressive),
        background-color var(--motion-fast) var(--ease-expressive);
}

.nobo-cost-share__cta:hover,
.nobo-cost-share__cta:focus-visible {
    background: var(--color-action-hover) !important;
    color: var(--nobo-cs-action-on) !important;
    transform: translateY(-2px);
    box-shadow:
        0 20px 42px rgba(201, 21, 109, 0.3),
        0 6px 16px rgba(42, 23, 18, 0.12);
}

.nobo-cost-share__cta:active,
.nobo-cost-share__deposit-cta:active {
    transform: scale(0.96);
}

.nobo-cost-share__cta[data-disabled="true"] {
    opacity: 0.55;
    pointer-events: none;
}

.nobo-cost-share__cta-amount {
    font-weight: 600;
    letter-spacing: 0.06em;
}

.nobo-cost-share__cta-arrow {
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.nobo-cost-share__alt {
    color: var(--nobo-cs-soft);
    font-size: var(--font-size-sm);
    font-weight: 500;
    text-decoration: underline;
    text-decoration-color: rgba(91, 67, 57, 0.32);
    text-underline-offset: 0.18em;
}

.nobo-cost-share__alt:hover,
.nobo-cost-share__alt:focus-visible {
    color: var(--nobo-cs-accent);
    text-decoration-color: currentColor;
}

.nobo-cost-share__notice {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    grid-column: 1 / -1;
    margin: 0;
    padding: 0.95rem 0 0;
    border-top: 1px solid rgba(42, 23, 18, 0.1);
    background: transparent;
    color: var(--nobo-cs-text);
    font-size: 0.92rem;
    line-height: 1.5;
}

.nobo-cost-share__notice-mark {
    width: 0.55rem;
    min-width: 0.55rem;
    height: 0.55rem;
    border-radius: var(--radius-full);
    background: var(--nobo-cs-accent);
}

.nobo-cost-share__deposit {
    position: relative;
    display: grid;
    grid-template-columns: minmax(15rem, 0.88fr) minmax(0, 1.2fr);
    gap: var(--space-4);
    max-width: 100%;
    margin: var(--space-6) auto 0;
    padding: var(--space-5);
    border: 1px solid var(--nobo-cs-border);
    border-radius: var(--radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 250, 242, 0.9), rgba(251, 246, 238, 0.98)),
        var(--nobo-cs-card);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.72) inset,
        var(--shadow-md);
}

.nobo-cost-share__deposit::before {
    content: "";
    position: absolute;
    top: -1px;
    left: var(--space-5);
    right: var(--space-5);
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--color-clay-500) 0%, var(--color-gold-400) 100%);
}

.nobo-cost-share__deposit-header {
    max-width: 56ch;
    margin: 0;
}

.nobo-cost-share__deposit-title {
    margin: 0 0 var(--space-1);
    color: var(--nobo-cs-ink);
    font-family: var(--font-family-display) !important;
    font-size: 1.85rem !important;
    font-weight: 600;
    letter-spacing: var(--tracking-heading);
    line-height: 1.15;
}

.nobo-cost-share__deposit-lead {
    margin: 0;
    color: var(--nobo-cs-soft);
    font-size: var(--font-size-base);
    line-height: var(--leading-snug);
    text-wrap: pretty;
}

.nobo-cost-share__deposit-options {
    display: grid;
    gap: 0.75rem;
    align-self: start;
    margin: 0;
    padding: 0;
    border: 0;
}

.nobo-cost-share__deposit-row {
    display: grid;
    grid-template-columns: 1.25rem minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 0.9rem;
    row-gap: 0.15rem;
    min-height: 5.1rem;
    padding: 1rem 1.1rem;
    border: 1px solid var(--nobo-cs-border);
    border-radius: var(--radius-md);
    background: var(--nobo-cs-card-strong);
    cursor: pointer;
    transition:
        border-color var(--motion-fast) var(--ease-expressive),
        background-color var(--motion-fast) var(--ease-expressive),
        box-shadow var(--motion-fast) var(--ease-expressive),
        transform var(--motion-fast) var(--ease-expressive);
}

.nobo-cost-share__deposit-row:hover {
    border-color: var(--nobo-cs-border-strong);
    transform: translateY(-1px);
    box-shadow: 0 10px 24px rgba(42, 23, 18, 0.07);
}

.nobo-cost-share__deposit-row input {
    appearance: none;
    width: 1.1rem;
    height: 1.1rem;
    border: 2px solid var(--nobo-cs-border-strong);
    border-radius: var(--radius-full);
    background: var(--color-white);
    cursor: pointer;
    transition: border-color var(--motion-fast) var(--ease-expressive), background-color var(--motion-fast) var(--ease-expressive);
}

.nobo-cost-share__deposit-row input:checked {
    border-color: var(--nobo-cs-action);
    background:
        radial-gradient(circle, var(--nobo-cs-action) 0 38%, transparent 42%);
}

.nobo-cost-share__deposit-row input:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 3px;
}

.nobo-cost-share__deposit-row:has(input:checked) {
    border-color: rgba(237, 25, 129, 0.45);
    background: var(--color-surface-strong);
    box-shadow: 0 0 0 3px rgba(237, 25, 129, 0.08);
}

.nobo-cost-share__deposit-name {
    color: var(--nobo-cs-ink);
    font-weight: 700;
    font-size: var(--font-size-sm);
    letter-spacing: 0.02em;
}

.nobo-cost-share__deposit-amount {
    grid-row: 1;
    grid-column: 3;
    color: var(--nobo-cs-ink);
    font-family: var(--font-family-display);
    font-size: var(--font-size-md);
    font-weight: 600;
    letter-spacing: -0.01em;
}

.nobo-cost-share__deposit-note {
    grid-column: 2 / -1;
    color: var(--nobo-cs-soft);
    font-size: var(--font-size-xs);
    line-height: 1.45;
}

.nobo-cost-share__deposit-footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    grid-column: 1 / -1;
    gap: var(--space-2);
    margin-top: 0;
    padding-top: var(--space-3);
    border-top: 1px solid var(--nobo-cs-border);
}

.nobo-cost-share__deposit-due {
    margin: 0;
    color: var(--nobo-cs-soft);
    font-size: var(--font-size-sm);
    font-style: italic;
}

.nobo-cost-share__deposit-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 2.75rem;
    padding: 0.7rem 1.4rem;
    border: 1px solid rgba(157, 81, 50, 0.32);
    border-radius: var(--radius-pill);
    background: linear-gradient(180deg, rgba(243, 235, 222, 0.94) 0%, rgba(232, 220, 200, 0.96) 100%) !important;
    color: var(--nobo-cs-ink) !important;
    font-family: var(--font-family-body);
    font-size: var(--font-size-xs);
    font-weight: 700;
    letter-spacing: 0.1em;
    line-height: 1;
    text-transform: uppercase;
    text-decoration: none !important;
    transition:
        transform var(--motion-fast) var(--ease-expressive),
        background-color var(--motion-fast) var(--ease-expressive),
        border-color var(--motion-fast) var(--ease-expressive);
}

.nobo-cost-share__deposit-cta:hover,
.nobo-cost-share__deposit-cta:focus-visible {
    border-color: rgba(157, 81, 50, 0.5);
    background: linear-gradient(180deg, rgba(232, 220, 200, 0.98) 0%, rgba(227, 208, 178, 1) 100%) !important;
    color: var(--nobo-cs-ink) !important;
    transform: translateY(-1px);
}

@media (max-width: 960px) {
    .nobo-cost-share__tiers {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .nobo-cost-share__checkout,
    .nobo-cost-share__deposit {
        grid-template-columns: 1fr;
    }

    .nobo-cost-share__action {
        align-items: flex-start;
    }
}

@media (max-width: 600px) {
    .nobo-cost-share {
        margin-top: var(--space-6);
        padding: 0 var(--space-2);
    }

    .nobo-cost-share__title {
        font-size: 2.18rem !important;
    }

    .nobo-cost-share__tiers {
        grid-template-columns: 1fr;
    }

    .nobo-cost-share__card {
        min-height: auto;
        padding: var(--space-3);
    }

    .nobo-cost-share__amount-num {
        font-size: 2.65rem;
    }

    .nobo-cost-share__patron {
        grid-template-columns: 1fr;
    }

    .nobo-cost-share__checkout {
        padding: 1rem;
    }

    .nobo-cost-share__summary {
        grid-template-columns: 1fr;
    }

    .nobo-cost-share__action {
        align-items: stretch;
    }

    .nobo-cost-share__cta {
        width: 100%;
        min-height: 3rem;
        padding-right: 1.15rem;
        padding-left: 1.15rem;
    }

    .nobo-cost-share__deposit {
        padding: var(--space-5) var(--space-3) var(--space-4);
    }

    .nobo-cost-share__deposit-row {
        grid-template-columns: 1.25rem minmax(0, 1fr);
    }

    .nobo-cost-share__deposit-amount {
        grid-row: 2;
        grid-column: 2;
    }

    .nobo-cost-share__deposit-footer {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .nobo-cost-share__deposit-cta {
        align-self: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nobo-cost-share__card,
    .nobo-cost-share__cta,
    .nobo-cost-share__deposit-cta,
    .nobo-cost-share__patron,
    .nobo-cost-share__deposit-row {
        transition: none !important;
    }

    .nobo-cost-share__card:hover,
    .nobo-cost-share__cta:hover,
    .nobo-cost-share__deposit-cta:hover,
    .nobo-cost-share__deposit-row:hover {
        transform: none;
    }
}

.nobo-cost-share-policy {
    --nobo-policy-card: rgba(255, 253, 248, 0.88);
    --nobo-policy-card-strong: rgba(255, 250, 242, 0.96);
    --nobo-policy-border: rgba(42, 23, 18, 0.12);
    --nobo-policy-ink: var(--color-heading);
    --nobo-policy-text: var(--color-text);
    --nobo-policy-soft: var(--color-text-soft);
    --nobo-policy-accent: var(--color-clay-600);
    --nobo-policy-action: var(--color-action);
    --nobo-policy-action-on: var(--color-on-action);

    max-width: 1120px;
    margin: var(--space-7) auto var(--space-7);
    padding: 0 var(--space-3);
    color: var(--nobo-policy-text);
    font-family: var(--font-family-body);
}

.nobo-cost-share-policy *,
.nobo-cost-share-policy *::before,
.nobo-cost-share-policy *::after {
    box-sizing: border-box;
}

.nobo-cost-share-policy :where(section, header, footer, aside) {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: inherit;
}

.nobo-cost-share-policy__header {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.8fr) minmax(20rem, 1.2fr);
    gap: var(--space-4);
    align-items: end;
    margin: 0 0 var(--space-4);
    padding-top: var(--space-4);
}

.nobo-cost-share-policy__header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--color-clay-500) 0%, var(--color-gold-400) 100%);
}

.nobo-cost-share-policy__eyebrow,
.nobo-cost-share-policy__label,
.nobo-cost-share-policy__window-date {
    color: var(--nobo-policy-accent);
    font-family: var(--font-family-eyebrow);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.nobo-cost-share-policy__eyebrow {
    grid-column: 1 / -1;
    margin: 0 0 calc(var(--space-2) * -1);
}

.nobo-cost-share-policy__title {
    margin: 0;
    color: var(--nobo-policy-ink);
    font-family: var(--font-family-display) !important;
    font-size: 2.35rem !important;
    font-weight: 600;
    letter-spacing: var(--tracking-heading);
    line-height: var(--leading-tight);
    text-wrap: balance;
}

.nobo-cost-share-policy__lead {
    max-width: 58ch;
    margin: 0;
    color: var(--nobo-policy-soft);
    font-size: 1rem;
    line-height: var(--leading-snug);
    text-wrap: pretty;
}

.nobo-cost-share-policy__windows {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.nobo-cost-share-policy__window {
    position: relative;
    min-height: 13.5rem;
    padding: 1.35rem;
    border: 1px solid var(--nobo-policy-border);
    border-radius: var(--radius-lg);
    background:
        linear-gradient(180deg, rgba(255, 253, 248, 0.92), rgba(255, 250, 242, 0.98)),
        var(--nobo-policy-card);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.76) inset,
        var(--shadow-sm);
}

.nobo-cost-share-policy__window::after {
    content: "";
    position: absolute;
    left: 1.35rem;
    right: 1.35rem;
    bottom: -1px;
    height: 2px;
    border-radius: 999px;
}

.nobo-cost-share-policy__window--full::after {
    background: linear-gradient(90deg, var(--color-clay-500), var(--color-gold-400));
}

.nobo-cost-share-policy__window--partial::after {
    background: linear-gradient(90deg, rgba(157, 81, 50, 0.55), rgba(237, 25, 129, 0.44));
}

.nobo-cost-share-policy__window--locked::after {
    background: linear-gradient(90deg, rgba(42, 23, 18, 0.44), rgba(91, 67, 57, 0.28));
}

.nobo-cost-share-policy__window-title {
    margin: var(--space-2) 0 var(--space-1);
    color: var(--nobo-policy-ink);
    font-family: var(--font-family-display) !important;
    font-size: 1.45rem !important;
    font-weight: 600;
    letter-spacing: var(--tracking-heading);
    line-height: 1.1;
}

.nobo-cost-share-policy__window-copy {
    margin: 0;
    color: var(--nobo-policy-text);
    font-size: var(--font-size-sm);
    line-height: 1.55;
    text-wrap: pretty;
}

.nobo-cost-share-policy__details {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) minmax(15rem, 0.76fr);
    gap: var(--space-2);
    margin-top: var(--space-2);
}

.nobo-cost-share-policy__exception,
.nobo-cost-share-policy__pay,
.nobo-cost-share-policy__access {
    border: 1px solid var(--nobo-policy-border);
    border-radius: var(--radius-lg);
    background: var(--nobo-policy-card-strong);
    box-shadow: var(--shadow-sm);
}

.nobo-cost-share-policy__exception {
    padding: 1.25rem 1.35rem;
}

.nobo-cost-share-policy__exception p,
.nobo-cost-share-policy__access p {
    margin: var(--space-1) 0 0;
    color: var(--nobo-policy-soft);
    font-size: var(--font-size-sm);
    line-height: 1.55;
}

.nobo-cost-share-policy__pay {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: var(--space-2);
    padding: 1.25rem;
}

.nobo-cost-share-policy__updated {
    margin: 0;
    color: var(--nobo-policy-soft);
    font-size: var(--font-size-sm);
    line-height: 1.45;
}

.nobo-cost-share-policy__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    padding: 0.78rem 1.35rem;
    border-radius: var(--radius-pill);
    background: var(--nobo-policy-action) !important;
    color: var(--nobo-policy-action-on) !important;
    font-size: var(--font-size-xs);
    font-weight: 800;
    letter-spacing: 0.1em;
    line-height: 1;
    text-decoration: none !important;
    text-transform: uppercase;
    box-shadow:
        0 14px 28px rgba(237, 25, 129, 0.22),
        0 4px 12px rgba(42, 23, 18, 0.08);
    transition:
        transform var(--motion-fast) var(--ease-expressive),
        box-shadow var(--motion-fast) var(--ease-expressive),
        background-color var(--motion-fast) var(--ease-expressive);
}

.nobo-cost-share-policy__cta:hover,
.nobo-cost-share-policy__cta:focus-visible {
    background: var(--color-action-hover) !important;
    color: var(--nobo-policy-action-on) !important;
    transform: translateY(-2px);
    box-shadow:
        0 18px 36px rgba(201, 21, 109, 0.27),
        0 6px 16px rgba(42, 23, 18, 0.1);
}

.nobo-cost-share-policy__cta:active {
    transform: scale(0.96);
}

.nobo-cost-share-policy__cta:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 3px;
}

.nobo-cost-share-policy__access {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-1) var(--space-3);
    align-items: center;
    margin-top: var(--space-2);
    padding: 1.2rem 1.35rem;
}

.nobo-cost-share-policy__access .nobo-cost-share-policy__label,
.nobo-cost-share-policy__access p {
    grid-column: 1;
}

.nobo-cost-share-policy__access a {
    grid-row: 1 / span 2;
    grid-column: 2;
    color: var(--nobo-policy-accent);
    font-size: var(--font-size-sm);
    font-weight: 700;
    text-decoration: underline;
    text-decoration-color: rgba(157, 81, 50, 0.28);
    text-underline-offset: 0.18em;
}

.nobo-cost-share-policy__access a:hover,
.nobo-cost-share-policy__access a:focus-visible {
    color: var(--nobo-policy-ink);
    text-decoration-color: currentColor;
}

@media (max-width: 960px) {
    .nobo-cost-share-policy__header,
    .nobo-cost-share-policy__windows,
    .nobo-cost-share-policy__details,
    .nobo-cost-share-policy__access {
        grid-template-columns: 1fr;
    }

    .nobo-cost-share-policy__access a {
        grid-row: auto;
        grid-column: 1;
        justify-self: start;
    }
}

@media (max-width: 600px) {
    .nobo-cost-share-policy {
        margin-top: var(--space-6);
        padding: 0 var(--space-2);
    }

    .nobo-cost-share-policy__title {
        font-size: 2rem !important;
    }

    .nobo-cost-share-policy__window {
        min-height: auto;
    }

    .nobo-cost-share-policy__pay {
        align-items: stretch;
    }

    .nobo-cost-share-policy__cta {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nobo-cost-share-policy__cta {
        transition: none !important;
    }

    .nobo-cost-share-policy__cta:hover {
        transform: none;
    }
}

/* =================================================================
 * Nobo RV Power — limited add-on block for the cost-share page
 * Two service cards + onboarding note + rules. It shares the warm
 * editorial language of cost-share while keeping payment CTAs secondary
 * until the camper confirms power needs with the team.
 * ================================================================= */
.nobo-rv-power {
    --nobo-rv-card: rgba(255, 253, 248, 0.9);
    --nobo-rv-card-strong: rgba(255, 250, 242, 0.98);
    --nobo-rv-ink: var(--color-heading);
    --nobo-rv-text: var(--color-text);
    --nobo-rv-soft: var(--color-text-soft);
    --nobo-rv-border: rgba(42, 23, 18, 0.12);
    --nobo-rv-border-strong: rgba(42, 23, 18, 0.2);
    --nobo-rv-accent: var(--color-clay-600);
    --nobo-rv-cool: var(--color-principle-cool);
    --nobo-rv-action: var(--color-action);
    --nobo-rv-action-on: var(--color-on-action);

    max-width: 1120px;
    margin: var(--space-7) auto var(--space-8);
    padding: 0 var(--space-3);
    color: var(--nobo-rv-text);
    font-family: var(--font-family-body);
}

.nobo-rv-power *,
.nobo-rv-power *::before,
.nobo-rv-power *::after {
    box-sizing: border-box;
}

.nobo-rv-power :where(section, header, footer, aside, figure) {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: inherit;
}

.nobo-rv-power__header {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(20rem, 1.08fr);
    gap: var(--space-4);
    align-items: end;
    margin-bottom: var(--space-4);
    padding-top: var(--space-4);
}

.nobo-rv-power__header::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--color-clay-500) 0%, var(--color-gold-400) 100%);
}

.nobo-rv-power__eyebrow,
.nobo-rv-power__badge,
.nobo-rv-power__label {
    color: var(--nobo-rv-accent);
    font-family: var(--font-family-eyebrow);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    line-height: 1.2;
    text-transform: uppercase;
}

.nobo-rv-power__eyebrow {
    grid-column: 1 / -1;
    margin: 0 0 calc(var(--space-2) * -1);
}

.nobo-rv-power__title {
    margin: 0;
    color: var(--nobo-rv-ink);
    font-family: var(--font-family-display) !important;
    font-size: 2.35rem !important;
    font-weight: 600;
    letter-spacing: 0;
    line-height: var(--leading-tight);
    text-wrap: balance;
}

.nobo-rv-power__lead {
    max-width: 58ch;
    margin: 0;
    color: var(--nobo-rv-soft);
    font-size: 1rem;
    line-height: var(--leading-snug);
    text-wrap: pretty;
}

.nobo-rv-power__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.48fr) minmax(18rem, 0.72fr);
    gap: var(--space-2);
    align-items: start;
}

.nobo-rv-power__plans {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2);
}

.nobo-rv-power__plan,
.nobo-rv-power__onboarding,
.nobo-rv-power__rule,
.nobo-rv-power__footer {
    border: 1px solid var(--nobo-rv-border);
    border-radius: var(--radius-lg);
    background: var(--nobo-rv-card);
    box-shadow:
        0 1px 0 rgba(255, 255, 255, 0.72) inset,
        var(--shadow-sm);
}

.nobo-rv-power__plan {
    position: relative;
    display: flex;
    flex-direction: column;
    padding: 1.45rem;
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 253, 248, 0.94), rgba(255, 250, 242, 0.98)),
        var(--nobo-rv-card);
}

.nobo-rv-power__plan::after {
    content: "";
    position: absolute;
    left: 1.45rem;
    right: 1.45rem;
    bottom: -1px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--color-clay-500), var(--color-gold-400));
}

.nobo-rv-power__plan--class-a-50::after {
    background: linear-gradient(90deg, var(--color-clay-500), var(--nobo-rv-cool));
}

.nobo-rv-power__badge {
    width: max-content;
    max-width: 100%;
    margin-bottom: var(--space-3);
    padding: 0.24rem 0.62rem;
    border-radius: var(--radius-pill);
    background: linear-gradient(90deg, rgba(157, 81, 50, 0.14), rgba(199, 161, 82, 0.2));
    color: var(--color-bark-900);
}

.nobo-rv-power__plan-title,
.nobo-rv-power__onboarding-title,
.nobo-rv-power__rule-title {
    margin: 0;
    color: var(--nobo-rv-ink);
    font-family: var(--font-family-display) !important;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1.1;
    text-wrap: balance;
}

.nobo-rv-power__plan-title {
    font-size: 1.72rem !important;
}

.nobo-rv-power__amp {
    margin: 0.2rem 0 var(--space-2);
    color: var(--nobo-rv-accent);
    font-size: var(--font-size-sm);
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.nobo-rv-power__amount {
    display: inline-flex;
    align-items: baseline;
    gap: 0.18rem;
    margin: 0 0 var(--space-2);
    color: var(--nobo-rv-ink);
    font-family: var(--font-family-display);
    font-size: 3.1rem;
    font-weight: 600;
    letter-spacing: 0;
    line-height: 1;
    font-variant-numeric: lining-nums tabular-nums;
}

.nobo-rv-power__currency {
    color: var(--nobo-rv-soft);
    font-size: 1.22rem;
    font-weight: 500;
}

.nobo-rv-power__for,
.nobo-rv-power__covers,
.nobo-rv-power__onboarding p,
.nobo-rv-power__rule p,
.nobo-rv-power__footer p {
    margin: 0;
    font-size: var(--font-size-sm);
    line-height: 1.55;
    text-wrap: pretty;
}

.nobo-rv-power__for {
    color: var(--nobo-rv-text);
    font-weight: 700;
}

.nobo-rv-power__covers,
.nobo-rv-power__onboarding p,
.nobo-rv-power__rule p,
.nobo-rv-power__footer p {
    color: var(--nobo-rv-soft);
}

.nobo-rv-power__covers {
    margin-top: 0.55rem;
}

.nobo-rv-power__plan-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    max-width: 100%;
    min-height: 2.7rem;
    margin-top: auto;
    padding: 0.74rem 1.15rem;
    border: 1px solid rgba(157, 81, 50, 0.32);
    border-radius: var(--radius-pill);
    background: linear-gradient(180deg, rgba(243, 235, 222, 0.9), rgba(232, 220, 200, 0.95)) !important;
    color: var(--nobo-rv-ink) !important;
    font-size: var(--font-size-xs);
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
    text-decoration: none !important;
    text-transform: uppercase;
    transition:
        transform var(--motion-fast) var(--ease-expressive),
        border-color var(--motion-fast) var(--ease-expressive),
        background-color var(--motion-fast) var(--ease-expressive);
}

.nobo-rv-power__plan-cta:hover,
.nobo-rv-power__plan-cta:focus-visible {
    border-color: rgba(157, 81, 50, 0.52);
    background: linear-gradient(180deg, rgba(232, 220, 200, 0.98), rgba(227, 208, 178, 1)) !important;
    color: var(--nobo-rv-ink) !important;
    transform: translateY(-1px);
}

.nobo-rv-power__onboarding {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr);
    overflow: hidden;
    background:
        linear-gradient(180deg, rgba(255, 253, 248, 0.92), rgba(255, 244, 230, 0.98)),
        var(--nobo-rv-card-strong);
}

.nobo-rv-power__onboarding-copy {
    padding: 1.45rem;
}

.nobo-rv-power__onboarding-title {
    margin-top: var(--space-1);
    font-size: 1.42rem !important;
}

.nobo-rv-power__onboarding p {
    margin-top: var(--space-1);
}

.nobo-rv-power__figure {
    position: relative;
    height: 11.5rem;
    min-height: 11.5rem;
    overflow: hidden;
    border-top: 1px solid var(--nobo-rv-border);
    background: var(--color-sand-100);
}

.nobo-rv-power__image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
    object-position: 50% 0%;
}

.nobo-rv-power__figure figcaption {
    position: absolute;
    right: 0.9rem;
    bottom: 0.9rem;
    left: 0.9rem;
    padding: 0.62rem 0.72rem;
    border-radius: var(--radius-md);
    background: rgba(255, 253, 248, 0.88);
    color: var(--nobo-rv-text);
    font-size: var(--font-size-xs);
    font-weight: 700;
    line-height: 1.35;
    box-shadow: 0 10px 24px rgba(42, 23, 18, 0.12);
}

.nobo-rv-power__rules {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-2);
    margin-top: var(--space-2);
}

.nobo-rv-power__rule {
    padding: 1.15rem;
    background: var(--nobo-rv-card-strong);
}

.nobo-rv-power__rule-title {
    margin-top: var(--space-1);
    font-size: 1.1rem !important;
}

.nobo-rv-power__rule p {
    margin-top: var(--space-1);
}

.nobo-rv-power__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-2);
    margin-top: var(--space-2);
    padding: 1.15rem 1.25rem;
    background:
        linear-gradient(180deg, rgba(255, 253, 248, 0.9), rgba(255, 250, 242, 0.98)),
        var(--nobo-rv-card);
}

.nobo-rv-power__footer p {
    max-width: 68ch;
}

.nobo-rv-power__footer strong {
    color: var(--nobo-rv-ink);
}

.nobo-rv-power__footer-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.85rem;
    padding: 0.8rem 1.35rem;
    border-radius: var(--radius-pill);
    background: var(--nobo-rv-action) !important;
    color: var(--nobo-rv-action-on) !important;
    font-size: var(--font-size-xs);
    font-weight: 800;
    letter-spacing: 0.08em;
    line-height: 1;
    text-decoration: none !important;
    text-transform: uppercase;
    box-shadow:
        0 14px 28px rgba(237, 25, 129, 0.2),
        0 4px 12px rgba(42, 23, 18, 0.08);
    transition:
        transform var(--motion-fast) var(--ease-expressive),
        box-shadow var(--motion-fast) var(--ease-expressive),
        background-color var(--motion-fast) var(--ease-expressive);
}

.nobo-rv-power__footer-cta:hover,
.nobo-rv-power__footer-cta:focus-visible {
    background: var(--color-action-hover) !important;
    color: var(--nobo-rv-action-on) !important;
    transform: translateY(-2px);
    box-shadow:
        0 18px 36px rgba(201, 21, 109, 0.26),
        0 6px 16px rgba(42, 23, 18, 0.1);
}

.nobo-rv-power__plan-cta:active,
.nobo-rv-power__footer-cta:active {
    transform: scale(0.96);
}

.nobo-rv-power__plan-cta:focus-visible,
.nobo-rv-power__footer-cta:focus-visible {
    outline: 3px solid var(--focus-ring);
    outline-offset: 3px;
}

@media (max-width: 960px) {
    .nobo-rv-power__header,
    .nobo-rv-power__layout,
    .nobo-rv-power__rules {
        grid-template-columns: 1fr;
    }

    .nobo-rv-power__figure {
        height: 16rem;
        min-height: 16rem;
    }
}

@media (max-width: 680px) {
    .nobo-rv-power {
        margin-top: var(--space-6);
        padding: 0 var(--space-2);
    }

    .nobo-rv-power__title {
        font-size: 2rem !important;
    }

    .nobo-rv-power__plans {
        grid-template-columns: 1fr;
    }

    .nobo-rv-power__plan {
        min-height: auto;
    }

    .nobo-rv-power__figure {
        height: 13rem;
        min-height: 13rem;
    }

    .nobo-rv-power__amount {
        font-size: 2.65rem;
    }

    .nobo-rv-power__plan-cta,
    .nobo-rv-power__footer-cta {
        width: 100%;
    }

    .nobo-rv-power__footer {
        align-items: stretch;
    }
}

@media (prefers-reduced-motion: reduce) {
    .nobo-rv-power__plan-cta,
    .nobo-rv-power__footer-cta {
        transition: none !important;
    }

    .nobo-rv-power__plan-cta:hover,
    .nobo-rv-power__footer-cta:hover {
        transform: none;
    }
}

/* Hide the legacy WPBakery pricing tables + their separators on the cost
   share page once the new shortcode is in place: the page-content patch
   replaces the markup, but if a cached version still serves the old
   shortcode output (or a content sync replays a pre-patch DB row), the
   shortcode and the legacy block won't double up. */
.page-id-868 .nobo-cost-share ~ #dues-payment,
.page-id-868 .nobo-cost-share + .vc_row:has(.wpb-pricing-table),
.page-id-868 #dues-payment:has(.wpb-pricing-table):has(+ * .nobo-cost-share),
.page-id-868 .nobo-cost-share ~ .vc_row:has(.wpb-pricing-table) {
    display: none;
}

/* =================================================================
 * Nobo Budget Shift — editorial multi-year breakdown
 * Lede + hero stat + grouped table with inline 3-year mini-bars +
 * three "what changed and why" callouts. Replaces the legacy raw
 * <table> on page 868. Magenta is intentionally absent (CTA-only).
 * Clay is the working accent; clay→gold hairline divides movements.
 * ================================================================= */
.nobo-budget-shift {
    --nobo-bs-card: var(--color-surface);
    --nobo-bs-card-strong: var(--color-surface-strong);
    --nobo-bs-ink: var(--color-heading);
    --nobo-bs-text: var(--color-text);
    --nobo-bs-soft: var(--color-text-soft);
    --nobo-bs-border: var(--color-border);
    --nobo-bs-border-strong: var(--color-border-strong);

    /* Trend palette: anchors to the brand's warm/cool duality already
       used on the homepage Participation Principles block. Up = the
       warm principle (clay rust). Down = the cool principle (pine
       teal). Flat = neutral bark. New = gold highlight. */
    --nobo-bs-accent: var(--color-clay-600);
    --nobo-bs-accent-tint: rgba(157, 81, 50, 0.16);
    --nobo-bs-up: var(--color-principle-warm);
    --nobo-bs-up-tint: rgba(183, 101, 63, 0.18);
    --nobo-bs-up-surface: var(--color-principle-warm-surface);
    --nobo-bs-down: var(--color-principle-cool);
    --nobo-bs-down-tint: rgba(15, 143, 134, 0.16);
    --nobo-bs-down-surface: var(--color-principle-cool-surface);
    --nobo-bs-flat: var(--color-bark-500);
    --nobo-bs-flat-tint: rgba(125, 92, 74, 0.14);
    --nobo-bs-gold: var(--color-gold-400);
    --nobo-bs-new-tint: linear-gradient(90deg, rgba(199, 161, 82, 0.26) 0%, rgba(199, 161, 82, 0.46) 100%);

    max-width: 1080px;
    margin: var(--space-8) auto var(--space-7);
    padding: var(--space-6) clamp(1rem, 3vw, var(--space-5));
    border: 1px solid var(--nobo-bs-border);
    border-radius: var(--radius-lg);
    background: var(--nobo-bs-card);
    box-shadow: var(--shadow-sm);
    color: var(--nobo-bs-text);
    font-family: var(--font-family-body);
}

.nobo-budget-shift *,
.nobo-budget-shift *::before,
.nobo-budget-shift *::after {
    box-sizing: border-box;
}

.nobo-budget-shift section,
.nobo-budget-shift header,
.nobo-budget-shift figure {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: inherit;
}

.nobo-budget-shift__header {
    max-width: 64ch;
    margin: 0 0 var(--space-5);
}

.nobo-budget-shift__eyebrow {
    margin: 0 0 var(--space-2);
    color: var(--nobo-bs-accent);
    font-family: var(--font-family-eyebrow);
    font-size: var(--font-size-xs);
    font-weight: 700;
    letter-spacing: var(--tracking-eyebrow);
    line-height: 1.2;
    text-transform: uppercase;
}

.nobo-budget-shift__eyebrow--quiet {
    color: var(--nobo-bs-soft);
}

.nobo-budget-shift__title {
    margin: 0 0 var(--space-3);
    color: var(--nobo-bs-ink);
    font-family: var(--font-family-display) !important;
    font-size: clamp(2.1rem, 1.6rem + 1.8vw, 2.9rem) !important;
    font-weight: 600;
    letter-spacing: var(--tracking-display);
    line-height: var(--leading-tight);
    text-wrap: balance;
}

.nobo-budget-shift__lede {
    margin: 0 0 var(--space-2);
    color: var(--nobo-bs-text);
    font-size: var(--font-size-md);
    line-height: var(--leading-snug);
    text-wrap: pretty;
}

.nobo-budget-shift__lede + .nobo-budget-shift__lede {
    color: var(--nobo-bs-soft);
}

/* Hero stat — Stripe/NYT-style display number with clay rule + caption. */
.nobo-budget-shift__stat {
    position: relative;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    column-gap: clamp(1rem, 3vw, var(--space-5));
    row-gap: 0.35rem;
    margin: var(--space-5) 0;
    padding: var(--space-4) var(--space-4) var(--space-4) var(--space-5);
    border-radius: var(--radius-md);
    background: linear-gradient(135deg, rgba(255, 253, 248, 0.78) 0%, rgba(243, 235, 222, 0.62) 100%);
    border: 1px solid var(--nobo-bs-border);
}

.nobo-budget-shift__stat-rule {
    grid-row: 1 / span 2;
    grid-column: 1;
    align-self: stretch;
    justify-self: center;
    width: 3px;
    min-height: 3.5rem;
    border-radius: 999px;
    background: linear-gradient(180deg, var(--color-clay-500) 0%, var(--color-gold-400) 100%);
}

.nobo-budget-shift__stat-number {
    grid-row: 1;
    grid-column: 2;
    margin: 0;
    color: var(--nobo-bs-ink);
    font-family: var(--font-family-display);
    font-size: clamp(2.4rem, 2rem + 2.4vw, 3.6rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1;
    font-variant-numeric: lining-nums tabular-nums;
}

.nobo-budget-shift__stat-caption {
    grid-row: 2;
    grid-column: 2;
    margin: 0;
    color: var(--nobo-bs-soft);
    font-size: var(--font-size-sm);
    line-height: var(--leading-snug);
    max-width: 50ch;
    text-wrap: pretty;
}

/* Table — sparse, editorial, tabular numerals. */
.nobo-budget-shift__table-wrap {
    margin: var(--space-5) 0 var(--space-6);
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.nobo-budget-shift__table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--font-size-sm);
    color: var(--nobo-bs-text);
}

.nobo-budget-shift__table thead th {
    padding: 0 var(--space-2) 0.6rem;
    color: var(--nobo-bs-accent);
    font-family: var(--font-family-eyebrow);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: var(--tracking-eyebrow);
    line-height: 1.2;
    text-align: right;
    text-transform: uppercase;
    border-bottom: 1px solid var(--nobo-bs-border-strong);
}

.nobo-budget-shift__th-category,
.nobo-budget-shift__th-arc {
    text-align: left !important;
}

.nobo-budget-shift__th-arc {
    width: 22%;
}

.nobo-budget-shift__th-year {
    width: 9%;
}

.nobo-budget-shift__th-change {
    width: 14%;
    text-align: right !important;
}

.nobo-budget-shift__group-row .nobo-budget-shift__group-label {
    padding: var(--space-4) 0 0.6rem;
    text-align: left;
    font-weight: 400;
}

.nobo-budget-shift__group-name {
    display: inline-block;
    margin-right: 0.6rem;
    color: var(--nobo-bs-accent);
    font-family: var(--font-family-eyebrow);
    font-size: var(--font-size-xs);
    font-weight: 700;
    letter-spacing: var(--tracking-eyebrow);
    text-transform: uppercase;
}

.nobo-budget-shift__group-blurb {
    color: var(--nobo-bs-soft);
    font-size: var(--font-size-xs);
    font-style: italic;
}

.nobo-budget-shift__row {
    border-bottom: 1px solid rgba(42, 23, 18, 0.06);
}

.nobo-budget-shift__row:last-child {
    border-bottom: 0;
}

.nobo-budget-shift__cat {
    padding: 0.85rem var(--space-2) 0.85rem 0;
    color: var(--nobo-bs-ink);
    font-family: var(--font-family-display);
    font-size: var(--font-size-md);
    font-style: italic;
    font-weight: 500;
    text-align: left;
    letter-spacing: -0.005em;
    white-space: nowrap;
}

.nobo-budget-shift__arc {
    padding: 0.85rem var(--space-3) 0.85rem var(--space-2);
    vertical-align: middle;
}

.nobo-budget-shift__arc-track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
    gap: 4px;
    height: 1.5rem;
}

.nobo-budget-shift__arc-seg {
    display: block;
    height: 8px;
    width: var(--nobo-bs-arc-width, 6%);
    min-width: 6%;
    max-width: 100%;
    border-radius: 999px;
    /* Default = up trend; data-trend overrides below paint down/flat/new. */
    background: var(--nobo-bs-up);
}

.nobo-budget-shift__arc-seg[data-tint="38"] {
    opacity: 0.38;
}

.nobo-budget-shift__arc-seg[data-tint="64"] {
    opacity: 0.64;
}

.nobo-budget-shift__arc-seg[data-tint="100"] {
    opacity: 1;
}

.nobo-budget-shift__arc-seg--empty {
    background: transparent;
    border-top: 1px dashed rgba(125, 92, 74, 0.32);
    border-radius: 0;
    height: 0;
    align-self: center;
    width: 60%;
    min-width: 0;
}

.nobo-budget-shift__row[data-trend="down"] .nobo-budget-shift__arc-seg:not(.nobo-budget-shift__arc-seg--empty) {
    background: var(--nobo-bs-down);
}

.nobo-budget-shift__row[data-trend="flat"] .nobo-budget-shift__arc-seg:not(.nobo-budget-shift__arc-seg--empty) {
    background: var(--nobo-bs-flat);
}

/* New lines get gold bars to tie visually to the NEW pill. */
.nobo-budget-shift__row[data-trend="new"] .nobo-budget-shift__arc-seg:not(.nobo-budget-shift__arc-seg--empty) {
    background: var(--nobo-bs-gold);
}

.nobo-budget-shift__val {
    padding: 0.85rem var(--space-2);
    color: var(--nobo-bs-text);
    font-size: var(--font-size-sm);
    font-variant-numeric: lining-nums tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.nobo-budget-shift__val.is-empty {
    color: var(--nobo-bs-soft);
}

.nobo-budget-shift__change {
    padding: 0.85rem 0 0.85rem var(--space-3);
    text-align: right;
    vertical-align: middle;
}

.nobo-budget-shift__pill {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.22rem 0.55rem;
    border-radius: var(--radius-pill);
    /* Default = up trend pill. Down/flat/new override below. */
    background: var(--nobo-bs-up-tint);
    color: var(--nobo-bs-up);
    font-family: var(--font-family-body);
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    line-height: 1.2;
    font-variant-numeric: lining-nums tabular-nums;
}

.nobo-budget-shift__pill[data-trend="down"] {
    background: var(--nobo-bs-down-tint);
    color: var(--nobo-bs-down);
}

.nobo-budget-shift__pill[data-trend="flat"] {
    background: var(--nobo-bs-flat-tint);
    color: var(--nobo-bs-flat);
}

.nobo-budget-shift__pill[data-trend="new"] {
    background: var(--nobo-bs-new-tint);
    color: var(--color-bark-900);
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.nobo-budget-shift__pill-glyph {
    font-family: var(--font-family-body);
    font-size: 0.92rem;
    line-height: 1;
    transform: translateY(-0.5px);
}

/* Why cards. */
.nobo-budget-shift__why {
    position: relative;
    margin-top: var(--space-6);
    padding-top: var(--space-5);
}

.nobo-budget-shift__why::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: clamp(80px, 18%, 160px);
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--color-clay-500) 0%, var(--color-gold-400) 100%);
}

.nobo-budget-shift__why-header {
    margin-bottom: var(--space-3);
}

.nobo-budget-shift__why-title {
    margin: 0;
    color: var(--nobo-bs-ink);
    font-family: var(--font-family-display) !important;
    font-size: clamp(1.5rem, 1.2rem + 0.9vw, 2rem) !important;
    font-weight: 600;
    letter-spacing: var(--tracking-heading);
    line-height: var(--leading-tight);
}

.nobo-budget-shift__why-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-3);
    margin: 0;
    padding: 0;
    list-style: none;
}

.nobo-budget-shift__why-card {
    display: flex;
    flex-direction: column;
    gap: 0.6rem;
    padding: var(--space-4);
    border: 1px solid var(--nobo-bs-border);
    border-radius: var(--radius-md);
    background: var(--nobo-bs-card-strong);
}

.nobo-budget-shift__why-card .nobo-budget-shift__pill {
    align-self: flex-start;
}

.nobo-budget-shift__why-cardtitle {
    margin: 0;
    color: var(--nobo-bs-ink);
    font-family: var(--font-family-display);
    font-size: var(--font-size-lg);
    font-weight: 600;
    letter-spacing: var(--tracking-heading);
    line-height: 1.15;
}

.nobo-budget-shift__why-cardbody {
    margin: 0;
    color: var(--nobo-bs-text);
    font-size: var(--font-size-sm);
    line-height: 1.55;
    text-wrap: pretty;
}

@media (max-width: 900px) {
    .nobo-budget-shift__why-list {
        grid-template-columns: 1fr;
    }

    .nobo-budget-shift__table {
        font-size: var(--font-size-xs);
    }

    .nobo-budget-shift__cat {
        font-size: var(--font-size-sm);
    }
}

@media (max-width: 640px) {
    .nobo-budget-shift {
        padding: var(--space-5) var(--space-3);
    }

    .nobo-budget-shift__stat {
        padding: var(--space-3) var(--space-3) var(--space-3) var(--space-4);
    }

    .nobo-budget-shift__stat-number {
        font-size: clamp(2rem, 1.6rem + 4vw, 2.6rem);
    }

    .nobo-budget-shift__table-wrap {
        overflow-x: visible;
    }

    /* On narrow screens, the arc carries the year story; drop the two
       earlier numeric columns so the latest value + change pill stay
       on-screen without horizontal scroll. */
    .nobo-budget-shift__table {
        table-layout: fixed;
        width: 100%;
    }

    .nobo-budget-shift__table thead th:nth-child(3),
    .nobo-budget-shift__table thead th:nth-child(4),
    .nobo-budget-shift__row td:nth-of-type(2),
    .nobo-budget-shift__row td:nth-of-type(3) {
        display: none;
    }

    .nobo-budget-shift__th-category {
        width: 38%;
    }

    .nobo-budget-shift__th-arc {
        width: 24%;
    }

    .nobo-budget-shift__th-year {
        width: 14%;
    }

    .nobo-budget-shift__th-change {
        width: 24%;
        padding-right: 0 !important;
    }

    .nobo-budget-shift__cat {
        font-size: var(--font-size-sm);
        white-space: normal;
        padding-right: 0.4rem;
    }

    .nobo-budget-shift__arc {
        padding: 0.85rem 0.4rem;
    }

    .nobo-budget-shift__arc-track {
        height: 1.1rem;
        gap: 2px;
    }

    .nobo-budget-shift__val {
        padding: 0.85rem 0.4rem;
        font-size: var(--font-size-xs);
    }

    .nobo-budget-shift__change {
        padding: 0.85rem 0 0.85rem 0.4rem;
    }

    .nobo-budget-shift__pill {
        padding: 0.18rem 0.4rem;
        font-size: 0.68rem;
        gap: 0.2rem;
    }
}

/* Hide the legacy <div class="budget-comparison"> block once the new
   shortcode is in place, mirroring the cost-share safeguard above. */
.page-id-868 .nobo-budget-shift ~ .vc_row .budget-comparison,
.page-id-868 .nobo-budget-shift ~ * .budget-comparison {
    display: none;
}
