/* ========================================================================
   KBG NA GARBA — FINAL GLOBAL THEME
   ======================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700;800&family=Noto+Serif+Gujarati:wght@500;600;700&display=swap");


/* ========================================================================
   VARIABLES
   ======================================================================== */

:root {

    --kbg-maroon: #781421;
    --kbg-maroon-dark: #4b0811;
    --kbg-maroon-deep: #35060d;

    --kbg-red: #ad303d;
    --kbg-red-light: #cb4550;

    --kbg-gold: #d9ad50;
    --kbg-gold-bright: #efd17c;
    --kbg-gold-pale: #f6e2ad;

    --kbg-green: #286348;
    --kbg-blue: #315e98;

    --kbg-ivory: #fffaf1;
    --kbg-cream: #f8eee1;

    --kbg-ink: #482d2d;
    --kbg-muted: #796361;

    --kbg-border: rgba(93,26,33,.12);
    --kbg-border-strong: rgba(93,26,33,.20);

    --kbg-shadow-sm:
        0 8px 24px rgba(75,25,28,.07);

    --kbg-shadow:
        0 16px 42px rgba(75,25,28,.09);

    --kbg-shadow-lg:
        0 26px 65px rgba(75,25,28,.14);

    --kbg-content:
        1480px;

    --kbg-header-height:
        84px;

}


/* ========================================================================
   BASE
   ======================================================================== */

html {

    scroll-behavior:
        smooth;

}


*,
*::before,
*::after {

    box-sizing:
        border-box;

}


body {

    margin:
        0;

    color:
        var(--kbg-ink);

    background:
        var(--kbg-ivory);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        15px;

    line-height:
        1.6;

    -webkit-font-smoothing:
        antialiased;

}


body,
input,
select,
textarea,
button {

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

}


a {

    color:
        var(--kbg-maroon);

    text-decoration:
        none;

}


a:hover {

    color:
        var(--kbg-red);

}


img {

    max-width:
        100%;

}


/* ========================================================================
   HEADER
   ======================================================================== */

.fHeader {

    position:
        fixed;

    z-index:
        2000;

    top:
        0;

    left:
        0;

    right:
        0;

    height:
        var(--kbg-header-height);

    overflow:
        visible;

    background:

        radial-gradient(
            circle at 18% 0,
            rgba(217,173,80,.08),
            transparent 27%
        ),

        linear-gradient(
            110deg,
            #4b0811,
            #68101a 48%,
            #801622
        );

    border-bottom:
        1px solid
        rgba(237,209,124,.24);

    box-shadow:
        0 8px 25px
        rgba(49,4,10,.15);

}


.fHeader::before {

    content:
        "";

    position:
        absolute;

    z-index:
        5;

    top:
        0;

    left:
        0;

    right:
        0;

    height:
        4px;

    background:

        linear-gradient(
            90deg,

            #b63d47 0 20%,

            #d9ad50 20% 40%,

            #286348 40% 60%,

            #315e98 60% 80%,

            #b63d47 80% 100%
        );

}


.fheaderToptwo {

    display:
        none !important;

}


.fHeader
.navbar-header,

.fHeader
.navbar-header > .wrap,

.fHeader
.region-header {

    height:
        var(--kbg-header-height);

}


.fHeader
.navbar-header > .wrap {

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 42px !important;

}


.fHeader
.region-header {

    position:
        relative;

    display:
        flex;

    align-items:
        center;

    width:
        100%;

}


/* ========================================================================
   HEADER LOGO / BRAND LOCKUP
   ======================================================================== */

.fHeader
.f-module-gallery-view {

    order:
        1;

    flex:
        0 1 auto;

    min-width:
        0;

    margin:
        0 !important;

}


.fHeader
.f-module-gallery-view
.fModuleContent,

.fHeader
.f-module-gallery-view
.f-module-content {

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        flex-start !important;

    gap:
        18px !important;

    min-width:
        0;

    margin:
        0 !important;

    padding:
        0 !important;

    overflow:
        visible;

}


.fHeader
.fGalleryImages,

.fHeader
.fGalleryList,

.fHeader
.fGalleryItem {

    flex:
        0 0 auto;

    margin:
        0 !important;

    padding:
        0 !important;

    list-style:
        none !important;

}


.fHeader
.fGalleryImage {

    display:
        block;

    width:
        66px;

    height:
        66px;

    overflow:
        hidden;

    border:
        2px solid
        rgba(246,226,171,.78);

    border-radius:
        50%;

    background:

        #ffffff
        url("https://storage.unitedwebnetwork.com/files/1424/71bda9a243090e245bf7f069d7ed436d.png")
        center / 92%
        no-repeat;

    box-shadow:

        0 0 0 5px
        rgba(217,173,80,.06),

        0 10px 25px
        rgba(26,2,6,.22);

    transition:
        transform .35s
        cubic-bezier(.2,.8,.2,1),
        box-shadow .35s ease;

}


.fHeader
.fGalleryImage:hover {

    transform:
        rotate(10deg)
        scale(1.055);

    box-shadow:

        0 0 0 7px
        rgba(217,173,80,.09),

        0 15px 32px
        rgba(26,2,6,.28);

}


.fHeader
.fGalleryImage img {

    opacity:
        0 !important;

}


/* ========================================================================
   HEADER BRAND NAME
   ======================================================================== */

.kbg-header-brand {

    position:
        relative;

    display:
        flex;

    align-items:
        center;

    flex:
        0 0 auto;

    min-width:
        0;

    white-space:
        nowrap;

}


.kbg-header-brand-title {

    position:
        relative;

    display:
        inline-block;

    margin:
        0;

    padding:
        2px 0 6px;

    background:

        linear-gradient(
            105deg,

            #fff8e8 0%,
            #fff8e8 30%,

            #e2bb63 43%,

            #fff1b6 50%,

            #e2bb63 57%,

            #fff8e8 70%,
            #fff8e8 100%
        );

    background-size:
        260% 100%;

    -webkit-background-clip:
        text;

    background-clip:
        text;

    -webkit-text-fill-color:
        transparent;

    color:
        #fff8e8;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:
        31px;

    line-height:
        1;

    font-weight:
        700;

    letter-spacing:
        .1px;

    filter:
        drop-shadow(
            0 3px 8px
            rgba(27,2,5,.20)
        );

    animation:
        kbgBrandShimmer
        7.5s
        ease-in-out
        infinite;

}


.kbg-header-brand-title::after {

    content:
        "";

    position:
        absolute;

    left:
        1px;

    bottom:
        0;

    width:
        54px;

    height:
        2px;

    border-radius:
        20px;

    background:

        linear-gradient(
            90deg,
            #efcf78,
            #d7a948,
            transparent
        );

    opacity:
        .80;

    box-shadow:
        0 0 10px
        rgba(229,188,91,.30);

    animation:
        kbgBrandUnderline
        4.5s
        ease-in-out
        infinite;

}


.kbg-header-brand-spark {

    position:
        absolute;

    right:
        -14px;

    top:
        -5px;

    width:
        4px;

    height:
        4px;

    border-radius:
        50%;

    background:
        #f8dc8a;

    box-shadow:

        0 0 4px
        #f8dc8a,

        0 0 11px
        rgba(248,220,138,.75);

    animation:
        kbgBrandSpark
        3.5s
        ease-in-out
        infinite;

}


.kbg-header-brand-spark::before,
.kbg-header-brand-spark::after {

    content:
        "";

    position:
        absolute;

    left:
        50%;

    top:
        50%;

    background:
        rgba(255,240,192,.82);

    transform:
        translate(-50%,-50%);

}


.kbg-header-brand-spark::before {

    width:
        13px;

    height:
        1px;

}


.kbg-header-brand-spark::after {

    width:
        1px;

    height:
        13px;

}


@keyframes kbgBrandShimmer {

    0%,
    25% {

        background-position:
            100% 50%;

    }

    65%,
    100% {

        background-position:
            -100% 50%;

    }

}


@keyframes kbgBrandUnderline {

    0%,
    100% {

        width:
            54px;

        opacity:
            .65;

    }

    50% {

        width:
            78px;

        opacity:
            1;

    }

}


@keyframes kbgBrandSpark {

    0%,
    100% {

        opacity:
            0;

        transform:
            scale(.5)
            rotate(0deg);

    }

    38% {

        opacity:
            .25;

    }

    50% {

        opacity:
            1;

        transform:
            scale(1.2)
            rotate(45deg);

    }

    65% {

        opacity:
            .15;

        transform:
            scale(.7)
            rotate(90deg);

    }

}


/* ========================================================================
   DESKTOP HEADER MENU
   ======================================================================== */

.fHeader
.f-module-pages-menu {

    position:
        static;

    order:
        2;

    margin-left:
        auto !important;

}


.fHeader
ul.fMenu {

    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    gap:
        9px;

    margin:
        0 !important;

    padding:
        0 !important;

    list-style:
        none;

}


.fHeader
ul.fMenu > li {

    margin:
        0 !important;

    padding:
        0 !important;

}


.fHeader
ul.fMenu > li > a {

    position:
        relative;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        46px;

    padding:
        0 20px;

    overflow:
        hidden;

    border:
        1px solid
        rgba(255,244,216,.07);

    border-radius:
        10px;

    color:
        rgba(255,247,228,.90) !important;

    background:
        rgba(255,255,255,.018);

    font-size:
        12px;

    font-weight:
        700;

    letter-spacing:
        .65px;

    text-transform:
        uppercase;

    transition:
        background .25s ease,
        border-color .25s ease,
        transform .25s ease;

}


.fHeader
ul.fMenu > li > a::after {

    content:
        "";

    position:
        absolute;

    left:
        18px;

    right:
        18px;

    bottom:
        7px;

    height:
        2px;

    border-radius:
        5px;

    background:
        var(--kbg-gold-bright);

    transform:
        scaleX(0);

    transition:
        transform .28s
        cubic-bezier(.2,.8,.2,1);

}


.fHeader
ul.fMenu > li > a:hover,

.fHeader
ul.fMenu > li.selected > a {

    color:
        #fff8e9 !important;

    border-color:
        rgba(238,207,124,.20);

    background:
        rgba(255,255,255,.045);

    transform:
        translateY(-2px);

}


.fHeader
ul.fMenu > li > a:hover::after,

.fHeader
ul.fMenu > li.selected > a::after {

    transform:
        scaleX(1);

}


.fHeader
.menu-item-icon:empty {

    display:
        none;

}


/* ========================================================================
   BURGER BUTTON
   ======================================================================== */

.kbg-menu-toggle {

    position:
        relative;

    z-index:
        2010;

    order:
        3;

    display:
        none;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0 0 48px;

    width:
        48px;

    height:
        48px;

    margin:
        0 0 0 auto;

    padding:
        0 !important;

    border:
        1px solid
        rgba(245,220,157,.24) !important;

    border-radius:
        12px !important;

    outline:
        none;

    color:
        #fff5dc !important;

    background:

        linear-gradient(
            145deg,
            rgba(255,255,255,.08),
            rgba(255,255,255,.025)
        ) !important;

    box-shadow:
        inset 0 1px 0
        rgba(255,255,255,.06) !important;

    cursor:
        pointer;

    transform:
        none !important;

}


.kbg-menu-toggle:hover {

    border-color:
        rgba(239,209,124,.45) !important;

    background:
        rgba(255,255,255,.10) !important;

    transform:
        none !important;

}


.kbg-menu-toggle-icon {

    position:
        relative;

    display:
        block;

    width:
        23px;

    height:
        17px;

}


.kbg-menu-toggle-icon > span {

    position:
        absolute;

    left:
        0;

    width:
        23px;

    height:
        2px;

    border-radius:
        4px;

    background:
        var(--kbg-gold-bright);

    transform-origin:
        center;

    transition:
        top .3s ease,
        transform .3s ease,
        opacity .2s ease,
        width .3s ease;

}


.kbg-menu-toggle-icon > span:nth-child(1) {

    top:
        0;

}


.kbg-menu-toggle-icon > span:nth-child(2) {

    top:
        7px;

    width:
        17px;

}


.kbg-menu-toggle-icon > span:nth-child(3) {

    top:
        14px;

}


body.kbg-menu-open
.kbg-menu-toggle-icon > span:nth-child(1) {

    top:
        7px;

    transform:
        rotate(45deg);

}


body.kbg-menu-open
.kbg-menu-toggle-icon > span:nth-child(2) {

    width:
        0;

    opacity:
        0;

}


body.kbg-menu-open
.kbg-menu-toggle-icon > span:nth-child(3) {

    top:
        7px;

    transform:
        rotate(-45deg);

}


/* ========================================================================
   MOBILE MENU BACKDROP
   ======================================================================== */

.kbg-menu-backdrop {

    position:
        fixed;

    z-index:
        1980;

    inset:
        var(--kbg-header-height)
        0
        0
        0;

    visibility:
        hidden;

    opacity:
        0;

    pointer-events:
        none;

    background:
        rgba(30,3,8,.48);

    backdrop-filter:
        blur(3px);

    transition:
        opacity .3s ease,
        visibility .3s ease;

}


body.kbg-menu-open
.kbg-menu-backdrop {

    visibility:
        visible;

    opacity:
        1;

    pointer-events:
        auto;

}


.head-padding {

    height:
        var(--kbg-header-height) !important;

}


/* ========================================================================
   NON-HOME PAGE BACKGROUND
   ======================================================================== */

body.not-home
#fContent {

    position:
        relative;

    overflow:
        hidden;

    min-height:
        440px;

    padding-bottom:
        70px;

    background:

        radial-gradient(
            circle at 5px 5px,
            rgba(120,20,33,.035) 1px,
            transparent 1.3px
        ),

        radial-gradient(
            circle at 88% 25%,
            rgba(217,173,80,.065),
            transparent 22%
        ),

        linear-gradient(
            135deg,
            #fffaf2,
            #fffdf8 55%,
            #fff8ed
        );

    background-size:
        20px 20px,
        auto,
        auto;

}


body.not-home
#fContent::after {

    content:
        "";

    position:
        absolute;

    z-index:
        0;

    right:
        -145px;

    top:
        105px;

    width:
        350px;

    height:
        350px;

    opacity:
        .035;

    pointer-events:
        none;

    border-radius:
        50%;

    background:

        repeating-conic-gradient(
            var(--kbg-gold)
            0 3deg,

            transparent
            3deg 13deg
        );

}


body.not-home
#fContent > * {

    position:
        relative;

    z-index:
        1;

}


body.not-home
#fContent > .container,

body.not-home
.fPageTitle > .container {

    width:
        min(
            var(--kbg-content),
            calc(100% - 60px)
        ) !important;

    max-width:
        none !important;

    margin:
        0 auto !important;

    padding-left:
        0 !important;

    padding-right:
        0 !important;

}


body.not-home
#fContent > .container > .row {

    margin:
        0 !important;

}


body.not-home
#fMatter {

    width:
        100%;

    max-width:
        none;

    padding:
        22px 0 0 !important;

}


/* ========================================================================
   PAGE TITLE
   ======================================================================== */

body.not-home
.fPageTitle {

    display:
        block !important;

    visibility:
        visible !important;

    opacity:
        1 !important;

    height:
        auto !important;

    overflow:
        visible !important;

    padding:
        42px 0 7px !important;

    background:
        transparent !important;

}


body.not-home
.fPageTitle h1 {

    position:
        relative;

    display:
        inline-block !important;

    visibility:
        visible !important;

    opacity:
        1 !important;

    margin:
        0 !important;

    padding:
        0 0 17px !important;

    color:
        var(--kbg-maroon-dark) !important;

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif !important;

    font-size:
        clamp(42px,4vw,64px) !important;

    line-height:
        .95 !important;

    font-weight:
        700 !important;

    letter-spacing:
        -1.2px;

}


body.not-home
.fPageTitle h1::after {

    content:
        "";

    position:
        absolute;

    left:
        0;

    bottom:
        0;

    width:
        88px;

    height:
        4px;

    border-radius:
        10px;

    background:

        linear-gradient(
            90deg,
            var(--kbg-maroon),
            var(--kbg-gold)
        );

}


/* ========================================================================
   GENERIC FORMS
   ======================================================================== */

.fForm {

    color:
        var(--kbg-ink);

}


.fForm
.form-item {

    position:
        relative;

    margin:
        0 0 20px;

}


.fForm
.form-item > label {

    display:
        block;

    margin:
        0 0 8px;

    color:
        #513637;

    font-size:
        12px;

    line-height:
        1.35;

    font-weight:
        700;

}


.fForm input[type="text"],
.fForm input[type="email"],
.fForm input[type="password"],
.fForm input[type="number"],
.fForm input[type="tel"],
.fForm input[type="date"],
.fForm input[type="search"],
.fForm select,
.fForm textarea {

    width:
        100%;

    min-height:
        50px;

    margin:
        0;

    padding:
        0 15px;

    border:
        1px solid
        rgba(122,58,58,.22) !important;

    border-radius:
        9px !important;

    outline:
        none;

    color:
        #3f2a2a;

    background:
        #fffdfa;

    font-size:
        14px;

    font-weight:
        500;

    transition:
        border-color .22s ease,
        box-shadow .22s ease,
        background .22s ease;

}


.fForm textarea {

    min-height:
        125px;

    padding-top:
        12px;

}


.fForm input:focus,
.fForm select:focus,
.fForm textarea:focus {

    border-color:
        rgba(120,20,33,.62) !important;

    background:
        #ffffff;

    box-shadow:

        0 0 0 4px
        rgba(120,20,33,.055),

        0 8px 22px
        rgba(89,26,31,.055);

}


.fForm
.hint {

    margin-top:
        7px !important;

    margin-left:
        0 !important;

}


/* ========================================================================
   GENERIC BUTTONS
   ======================================================================== */

.fButton,
.f-button,
.fForm input[type="submit"],
.fForm input[type="button"],
.fForm button,
.buttons input[type="submit"],
.buttons button {

    display:
        inline-flex !important;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        128px;

    min-height:
        48px;

    padding:
        0 24px !important;

    border:
        1px solid
        rgba(255,226,158,.20) !important;

    border-radius:
        9px !important;

    color:
        #fff8e7 !important;

    background:

        linear-gradient(
            135deg,
            #71121f,
            #a52a37
        ) !important;

    font-size:
        11px !important;

    line-height:
        1 !important;

    font-weight:
        800 !important;

    letter-spacing:
        .75px;

    text-transform:
        uppercase;

    box-shadow:
        0 12px 26px
        rgba(87,18,26,.18);

    cursor:
        pointer;

    transition:
        transform .25s ease,
        box-shadow .25s ease;

}


.fButton:hover,
.f-button:hover,
.fForm input[type="submit"]:hover,
.fForm input[type="button"]:hover,
.fForm button:hover {

    color:
        #ffffff !important;

    transform:
        translateY(-3px);

    box-shadow:
        0 18px 34px
        rgba(87,18,26,.25);

}


/* ========================================================================
   MESSAGES
   ======================================================================== */

#f-messages:not(:empty) {

    margin:
        0 0 22px;

}


#f-messages > *,
.fMessage,
.f-message,
.alert {

    padding:
        15px 18px;

    border:
        1px solid
        rgba(120,20,33,.12);

    border-left:
        5px solid
        var(--kbg-maroon);

    border-radius:
        10px;

    color:
        #513738;

    background:
        #ffffff;

    box-shadow:
        var(--kbg-shadow-sm);

}


/* ========================================================================
   GENERIC TABLES
   ======================================================================== */

.fTable,
.f-table {

    width:
        100%;

    color:
        var(--kbg-ink);

    border-collapse:
        separate;

    border-spacing:
        0;

}


.fTable th,
.f-table th {

    padding:
        14px 16px;

    color:
        var(--kbg-maroon-dark);

    background:
        #f8ecd9;

    font-size:
        12px;

    font-weight:
        800;

}


.fTable td,
.f-table td {

    padding:
        14px 16px;

    border-bottom:
        1px solid
        rgba(103,51,49,.10);

    background:
        rgba(255,255,255,.88);

}


/* ========================================================================
   DASHBOARD
   ======================================================================== */

body.path-user-dashboard-
#fContent > .container {

    width:
        min(960px,calc(100% - 60px)) !important;

    margin-left:
        auto !important;

    margin-right:
        auto !important;

}


body.path-user-dashboard-
#fMatter {

    padding-top:
        28px !important;

    padding-bottom:
        80px !important;

}


body.path-user-dashboard-
#fMatter
.f-module-pages-menu
ul.fMenu {

    display:
        grid !important;

    grid-template-columns:
        repeat(2,minmax(0,1fr));

    gap:
        24px;

    max-width:
        920px;

    margin:
        0 auto !important;

    padding:
        0 !important;

    list-style:
        none;

}


body.path-user-dashboard-
#fMatter
.f-module-pages-menu
ul.fMenu > li {

    --dash-accent:
        var(--kbg-red);

    margin:
        0 !important;

    padding:
        0 !important;

}


body.path-user-dashboard-
#fMatter
.f-module-pages-menu
ul.fMenu > li:nth-child(3n+2) {

    --dash-accent:
        var(--kbg-gold);

}


body.path-user-dashboard-
#fMatter
.f-module-pages-menu
ul.fMenu > li:nth-child(3n+3) {

    --dash-accent:
        var(--kbg-green);

}


body.path-user-dashboard-
#fMatter
.f-module-pages-menu
ul.fMenu > li > a {

    position:
        relative;

    isolation:
        isolate;

    display:
        flex;

    align-items:
        flex-end;

    min-height:
        220px;

    overflow:
        hidden;

    padding:
        105px 28px 30px;

    border:
        1px solid
        rgba(86,30,34,.11);

    border-radius:
        18px;

    color:
        var(--kbg-maroon-dark) !important;

    background:
        #ffffff;

    box-shadow:
        var(--kbg-shadow);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:
        clamp(25px,2vw,31px);

    line-height:
        1.05;

    font-weight:
        700;

    transition:
        transform .3s ease,
        box-shadow .3s ease;

}


body.path-user-dashboard-
#fMatter
.f-module-pages-menu
ul.fMenu > li > a::before {

    content:
        "✦";

    position:
        absolute;

    left:
        28px;

    top:
        31px;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        54px;

    height:
        54px;

    border:
        1px solid
        var(--dash-accent);

    border-radius:
        50%;

    color:
        var(--dash-accent);

    background:
        #fffaf1;

}


body.path-user-dashboard-
#fMatter
.f-module-pages-menu
ul.fMenu > li > a::after {

    content:
        "";

    position:
        absolute;

    z-index:
        -1;

    right:
        -58px;

    top:
        -58px;

    width:
        165px;

    height:
        165px;

    border-radius:
        50%;

    opacity:
        .13;

    background:

        repeating-conic-gradient(
            var(--dash-accent)
            0 3deg,

            transparent
            3deg 14deg
        );

}


body.path-user-dashboard-
#fMatter
.f-module-pages-menu
ul.fMenu > li > a:hover {

    color:
        var(--kbg-maroon-dark) !important;

    transform:
        translateY(-8px);

    box-shadow:
        var(--kbg-shadow-lg);

}


body.path-user-dashboard-
#fMatter
.menu-item-icon {

    display:
        none;

}


/* ========================================================================
   BUY TICKETS — PASS
   ======================================================================== */

body.view-account-group
#user-form-register
fieldset.user-register-group {

    position:
        relative;

    overflow:
        hidden;

    margin:
        0 0 18px !important;

    padding:
        15px !important;

    border:
        1px solid
        var(--kbg-border) !important;

    border-radius:
        18px;

    background:
        #ffffff;

    box-shadow:
        var(--kbg-shadow);

}


body.view-account-group
fieldset.user-register-group::before {

    content:
        "";

    position:
        absolute;

    top:
        0;

    left:
        0;

    right:
        0;

    height:
        5px;

    background:

        linear-gradient(
            90deg,
            var(--kbg-red),
            var(--kbg-gold),
            var(--kbg-green),
            var(--kbg-blue)
        );

}


body.view-account-group
fieldset.user-register-group > legend {

    display:
        none;

}


body.view-account-group
.user-register-group
.f-table {

    border:
        0 !important;

}


body.view-account-group
.user-register-group
.f-table td {

    padding:
        21px 25px !important;

    border:
        0 !important;

    background:
        #fffdfa !important;

}


body.view-account-group
.user-register-group
.user-register-group-cost {

    width:
        170px !important;

    border-left:
        1px solid
        rgba(105,34,39,.10) !important;

    text-align:
        center;

    white-space:
        nowrap;

}


body.view-account-group
.user-register-group
.f-table-title label {

    color:
        var(--kbg-maroon-dark);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:
        24px;

    font-weight:
        700;

}


body.view-account-group
.user-register-group
.f-financial-ccy,

body.view-account-group
.user-register-group
.f-financial-amount {

    color:
        var(--kbg-maroon);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:
        23px;

    font-weight:
        700;

}


/* ========================================================================
   BUY TICKETS — QUANTITY
   ======================================================================== */

body.view-account-group
fieldset.user-register-group-size {

    margin:
        0 0 18px !important;

    padding:
        0 !important;

    border:
        1px solid
        var(--kbg-border) !important;

    border-radius:
        15px;

    background:
        #ffffff;

    box-shadow:
        var(--kbg-shadow-sm);

}


body.view-account-group
.user-register-group-size > legend {

    display:
        none;

}


body.view-account-group
.user-register-group-size
.f-fieldset-body {

    display:
        flex;

    align-items:
        center;

    justify-content:
        space-between;

    min-height:
        84px;

    padding:
        16px 24px;

}


body.view-account-group
.user-register-group-size
.f-fieldset-body::before {

    content:
        "Number of attendees";

    color:
        var(--kbg-maroon-dark);

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:
        22px;

    font-weight:
        700;

}


body.view-account-group
.user-register-group-size
.form-item {

    display:
        flex;

    align-items:
        center;

    gap:
        11px;

    margin:
        0 !important;

}


body.view-account-group
.user-register-group-size
.form-item label {

    margin:
        0;

    font-size:
        0;

}


body.view-account-group
.user-register-group-size
.form-item label::before {

    content:
        "Guests";

    color:
        var(--kbg-muted);

    font-size:
        12px;

}


body.view-account-group
.user-register-group-size
select {

    width:
        90px !important;

    min-height:
        46px;

    font-weight:
        700;

}


/* ========================================================================
   BUY TICKETS — GUEST CARDS
   ======================================================================== */

body.view-account-group
fieldset.fieldset-people {

    position:
        relative;

    overflow:
        hidden;

    margin:
        0 0 16px !important;

    padding:
        0 !important;

    border:
        1px solid
        rgba(96,31,35,.11) !important;

    border-radius:
        16px;

    background:
        #ffffff;

    box-shadow:
        var(--kbg-shadow-sm);

}


body.view-account-group
fieldset.fieldset-people > legend {

    display:
        flex;

    align-items:
        center;

    width:
        100%;

    min-height:
        53px;

    margin:
        0 !important;

    padding:
        4px 23px 0 !important;

    color:
        #fff7e7;

    background:

        linear-gradient(
            110deg,
            #64101a,
            #8f1d29
        );

    font-family:
        "Cormorant Garamond",
        Georgia,
        serif;

    font-size:
        20px;

    font-weight:
        700;

}


body.view-account-group
fieldset.fieldset-people > legend::before {

    content:
        "Guest";

    margin-right:
        7px;

    color:
        var(--kbg-gold-bright);

    font-family:
        "DM Sans",
        Arial,
        sans-serif;

    font-size:
        10px;

    font-weight:
        800;

    letter-spacing:
        1px;

    text-transform:
        uppercase;

}


body.view-account-group
fieldset.fieldset-people
.f-fieldset-body {

    display:
        grid;

    grid-template-columns:
        .95fr 1.15fr 1.15fr .95fr;

    gap:
        17px;

    padding:
        22px 23px 24px;

}


body.view-account-group
fieldset.fieldset-people
.form-item {

    width:
        auto !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;

}


body.view-account-group
fieldset.fieldset-people
.form-item-type-dropdown > label {

    font-size:
        0;

}


body.view-account-group
fieldset.fieldset-people
.form-item-type-dropdown > label::before {

    content:
        "Pass";

    color:
        #513637;

    font-size:
        11px;

    font-weight:
        700;

}


body.view-account-group
fieldset.fieldset-people
.form-item-type-dropdown > label::after {

    content:
        " *";

    color:
        var(--kbg-red);

    font-size:
        11px;

}


body.view-account-group
fieldset.fieldset-people
input,

body.view-account-group
fieldset.fieldset-people
select {

    min-height:
        48px;

}


body.view-account-group
#user-form-register
.form-item-type-buttons {

    display:
        flex;

    justify-content:
        flex-end;

    margin:
        27px 0 0 !important;

    padding-top:
        22px;

    border-top:
        1px solid
        rgba(91,31,34,.08);

}


body.view-account-group
#btn_submit {

    min-width:
        180px;

    min-height:
        54px;

}


/* ========================================================================
   INVOICE PAGE
   ======================================================================== */

body.com-financial.view-invoice
.fPageTitle {

    display:
        block !important;

}


body.com-financial.view-invoice
#fMatter {

    padding-top:
        18px !important;

    padding-bottom:
        34px !important;

}


body.com-financial.view-invoice
#fMatter > .row:first-of-type {

    display:
        flex;

    justify-content:
        flex-end;

    align-items:
        center;

    margin:
        0 0 16px !important;

}


body.com-financial.view-invoice
#btn-print {

    display:
        inline-flex !important;

    align-items:
        center;

    justify-content:
        center;

    min-width:
        118px !important;

    min-height:
        46px !important;

    margin:
        0 !important;

    padding:
        0 20px !important;

    border:
        1px solid
        rgba(120,20,33,.16) !important;

    border-radius:
        9px !important;

    color:
        var(--kbg-maroon-dark) !important;

    background:
        #ffffff !important;

    font-size:
        11px !important;

    font-weight:
        800 !important;

    line-height:
        1 !important;

    box-shadow:
        var(--kbg-shadow-sm);

}


body.com-financial.view-invoice
#btn-print::before {

    content:
        "\f02f";

    margin-right:
        9px;

    font-family:
        "Font Awesome 6 Free";

    font-weight:
        900;

}


body.com-financial.view-invoice
#btn-print:hover {

    color:
        #ffffff !important;

    background:
        var(--kbg-maroon) !important;

}


body.com-financial.view-invoice
#invoice-container {

    overflow:
        visible !important;

    margin:
        0 !important;

    padding:
        0 !important;

    border:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

}


body.com-financial.view-invoice
#invoicePrint {

    display:
        block;

    width:
        100% !important;

    margin:
        0 !important;

    overflow:
        hidden !important;

    border:
        1px solid
        rgba(95,32,35,.12) !important;

    border-radius:
        16px !important;

    background:
        #ffffff;

    box-shadow:
        var(--kbg-shadow);

}


/* ========================================================================
   INVOICE PAYMENT METHOD
   ======================================================================== */

body.com-financial.view-invoice
.invoice-pmodes {

    overflow:
        hidden;

    margin:
        20px 0 0 !important;

    padding:
        0 !important;

    border:
        1px solid
        rgba(95,32,35,.12);

    border-radius:
        16px;

    background:
        #ffffff;

    box-shadow:
        var(--kbg-shadow);

}


body.com-financial.view-invoice
.invoice-pmodes
.checks {

    margin:
        0 !important;

    padding:
        0 !important;

}


body.com-financial.view-invoice
.f-table-pmodes {

    margin:
        0 !important;

    border:
        0 !important;

}


body.com-financial.view-invoice
.f-table-pmodes th {

    padding:
        17px 22px !important;

    border:
        0 !important;

    color:
        var(--kbg-maroon-dark);

    background:

        linear-gradient(
            90deg,
            #f7e6cb,
            #fff5e4
        ) !important;

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        .7px;

    text-transform:
        uppercase;

}


body.com-financial.view-invoice
.f-table-pmodes td {

    padding:
        19px 20px !important;

    border:
        0 !important;

    background:
        #ffffff !important;

    vertical-align:
        middle;

}


body.com-financial.view-invoice
.f-table-pmodes
input[type="radio"] {

    width:
        19px;

    height:
        19px;

    accent-color:
        var(--kbg-maroon);

}


body.com-financial.view-invoice
.list-item-heading {

    margin:
        0;

    color:
        #4a3433;

    font-size:
        14px;

    font-weight:
        700;

    cursor:
        pointer;

}


body.com-financial.view-invoice
.invoice-pmodes
.buttons {

    display:
        flex;

    justify-content:
        flex-end;

    margin:
        0 !important;

    padding:
        18px 20px;

    border-top:
        1px solid
        rgba(93,34,36,.07);

    background:
        #fffdfa;

}


/* ========================================================================
   CHECKOUT
   ======================================================================== */

body.com-financial.view-checkout
#fMatter > form.fForm.invoice-pmodes {

    display:
        block !important;

    position:
        relative !important;

    float:
        none !important;

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;

}


body.com-financial.view-checkout
#fMatter > form.fForm.invoice-pmodes
> .f-table-invoice {

    width:
        100% !important;

    margin:
        0 0 18px !important;

}


body.com-financial.view-checkout
#fMatter > form.fForm.invoice-pmodes
> .checks {

    display:
        block !important;

    float:
        none !important;

    clear:
        both !important;

    width:
        100% !important;

    margin:
        0 !important;

    padding:
        0 !important;

}


body.com-financial.view-checkout
#fMatter > form.fForm.invoice-pmodes
> .buttons {

    position:
        static !important;

    float:
        none !important;

    clear:
        both !important;

    display:
        flex !important;

    align-items:
        center !important;

    justify-content:
        flex-end !important;

    width:
        100% !important;

    min-height:
        84px !important;

    margin:
        0 !important;

    padding:
        16px 20px !important;

    border-top:
        1px solid
        rgba(93,34,36,.07);

    background:
        #fffdfa;

}


body.com-financial.view-checkout
#fMatter > form.fForm.invoice-pmodes
> .buttons
> input[name="submit"] {

    position:
        static !important;

    float:
        none !important;

    flex:
        0 0 180px !important;

    width:
        180px !important;

    min-width:
        180px !important;

    max-width:
        180px !important;

    height:
        52px !important;

    min-height:
        52px !important;

    margin:
        0 0 0 auto !important;

    transform:
        none !important;

}


body.com-financial.view-checkout
#fMatter > form.fForm.invoice-pmodes
> .buttons
> input[name="submit"]:hover {

    transform:
        translateY(-2px) !important;

}


/* ========================================================================
   PAYMENT FAILED / STATUS
   ======================================================================== */

body.com-financial.view-payment
#fMatter {

    padding-top:
        20px !important;

    padding-bottom:
        55px !important;

}


body.com-financial.view-payment
.f-modal.fModal.f-modal-false {

    position:
        relative !important;

    inset:
        auto !important;

    display:
        block !important;

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;

    overflow:
        visible !important;

    border:
        0 !important;

    background:
        transparent !important;

    box-shadow:
        none !important;

}


body.com-financial.view-payment
.f-modal > form {

    position:
        relative;

    display:
        grid;

    grid-template-columns:
        repeat(3,minmax(0,1fr));

    gap:
        14px;

    width:
        100%;

    margin:
        0 !important;

    padding:
        26px !important;

    overflow:
        hidden;

    border:
        1px solid
        rgba(102,30,35,.11);

    border-radius:
        18px;

    background:
        #ffffff;

    box-shadow:
        var(--kbg-shadow);

}


body.com-financial.view-payment
.f-modal > form::before {

    content:
        "";

    position:
        absolute;

    left:
        0;

    top:
        0;

    bottom:
        0;

    width:
        6px;

    background:

        linear-gradient(
            180deg,
            var(--kbg-red),
            var(--kbg-gold)
        );

}


body.com-financial.view-payment
.f-modal h4 {

    position:
        relative;

    grid-column:
        1 / -1;

    margin:
        0 0 6px !important;

    padding:
        18px 20px 18px 62px;

    border:
        1px solid
        rgba(173,48,61,.12);

    border-radius:
        12px;

    color:
        #5c2329;

    background:

        linear-gradient(
            100deg,
            #fff3f0,
            #fff9f2
        );

    font-size:
        16px;

    line-height:
        1.5;

    font-weight:
        700;

}


body.com-financial.view-payment
.f-modal h4::before {

    content:
        "!";

    position:
        absolute;

    left:
        18px;

    top:
        50%;

    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    width:
        30px;

    height:
        30px;

    border-radius:
        50%;

    color:
        #fff8e9;

    background:
        var(--kbg-maroon);

    font-family:
        Georgia,
        serif;

    font-size:
        18px;

    font-weight:
        700;

    transform:
        translateY(-50%);

}


body.com-financial.view-payment
.f-modal
.form-item-type-label {

    display:
        flex !important;

    flex-direction:
        column;

    gap:
        8px;

    min-width:
        0;

    min-height:
        105px;

    margin:
        0 !important;

    padding:
        16px 17px !important;

    border:
        1px solid
        rgba(103,41,42,.09);

    border-radius:
        11px;

    background:

        linear-gradient(
            145deg,
            #fffdf9,
            #fff8ee
        );

}


body.com-financial.view-payment
.f-modal
.form-item-type-label > label {

    display:
        block !important;

    width:
        100% !important;

    margin:
        0 !important;

    padding:
        0 !important;

    color:
        #7a5e59;

    font-size:
        10px !important;

    line-height:
        1.3 !important;

    font-weight:
        800 !important;

    letter-spacing:
        .7px;

    text-align:
        left !important;

    white-space:
        normal !important;

    text-transform:
        uppercase;

}


body.com-financial.view-payment
.f-modal
.form-label {

    display:
        block;

    margin:
        0 !important;

    padding:
        0 !important;

    border:
        0 !important;

    color:
        #3e2929;

    background:
        transparent !important;

    font-size:
        15px;

    line-height:
        1.35;

    font-weight:
        700;

    word-break:
        break-word;

}


body.com-financial.view-payment
.f-modal
.buttons {

    grid-column:
        1 / -1;

    display:
        flex;

    align-items:
        center;

    justify-content:
        flex-end;

    gap:
        11px;

    margin:
        7px 0 0 !important;

    padding:
        20px 0 0;

    border-top:
        1px solid
        rgba(91,31,34,.08);

}


/* ========================================================================
   SIMPLE USER FORMS
   ======================================================================== */

body.com-user.not-home:not(.view-account-group)
#fContent > .container {

    width:
        min(760px,calc(100% - 40px)) !important;

    max-width:
        760px !important;

    margin-left:
        auto !important;

    margin-right:
        auto !important;

}


body.com-user.not-home:not(.view-account-group)
#fMatter > form.fForm {

    width:
        100%;

    max-width:
        700px;

    margin:
        0 auto;

    padding:
        34px 38px;

    border:
        1px solid
        rgba(95,31,34,.11);

    border-radius:
        18px;

    background:
        #ffffff;

    box-shadow:
        var(--kbg-shadow);

}


body.com-user.not-home:not(.view-account-group)
#fMatter > form.fForm .form-item > label {

    display:
        block;

    width:
        100%;

    margin:
        0 0 8px;

    text-align:
        left;

}


body.com-user.not-home:not(.view-account-group)
#fMatter > form.fForm .form-item > input,
body.com-user.not-home:not(.view-account-group)
#fMatter > form.fForm .form-item > select,
body.com-user.not-home:not(.view-account-group)
#fMatter > form.fForm .form-item > textarea {

    width:
        100%;

}


body.com-user.not-home:not(.view-account-group)
#fMatter > form.fForm .buttons {

    justify-content:
        center;

    text-align:
        center;

}


/* ========================================================================
   FOOTER WRAPPER
   ======================================================================== */

#fFooter {

    position:
        relative;

    z-index:
        5;

    margin:
        0;

    padding:
        0;

}


#fFooter > .container {

    width:
        100% !important;

    max-width:
        none !important;

    margin:
        0 !important;

    padding:
        0 !important;

}


#fFooter
.region-footer,

#fFooter
.region-footer > .fModule,

#fFooter
.region-footer > .fModule > .fModuleContent,

#fFooter
.region-footer > .fModule > .f-module-content {

    width:
        100%;

    max-width:
        none;

    margin:
        0;

    padding:
        0;

}


/* ========================================================================
   SCROLL TO TOP
   ======================================================================== */

#nav-up {

    position:
        fixed !important;

    z-index:
        1500;

    right:
        24px !important;

    bottom:
        24px !important;

    display:
        flex !important;

    align-items:
        center;

    justify-content:
        center;

    width:
        48px !important;

    height:
        48px !important;

    padding:
        0 !important;

    border:
        1px solid
        rgba(246,220,153,.28) !important;

    border-radius:
        50% !important;

    color:
        var(--kbg-gold-bright) !important;

    background:

        linear-gradient(
            145deg,
            #68101a,
            #8f1c29
        ) !important;

    box-shadow:
        0 12px 28px
        rgba(62,8,15,.25);

    cursor:
        pointer;

}


/* ========================================================================
   TABLET
   ======================================================================== */

@media (max-width: 1100px) {

    .kbg-header-brand-title {

        font-size:
            29px;

    }


    body.not-home
    #fContent > .container,

    body.not-home
    .fPageTitle > .container {

        width:
            calc(100% - 44px) !important;

    }


    body.path-user-dashboard-
    #fMatter
    .f-module-pages-menu
    ul.fMenu {

        grid-template-columns:
            repeat(2,minmax(0,1fr));

    }


    body.view-account-group
    fieldset.fieldset-people
    .f-fieldset-body {

        grid-template-columns:
            repeat(2,minmax(0,1fr));

    }


    body.com-financial.view-payment
    .f-modal > form {

        grid-template-columns:
            repeat(2,minmax(0,1fr));

    }

}


/* ========================================================================
   MOBILE HEADER / BURGER
   ======================================================================== */

@media (max-width: 760px) {

    :root {

        --kbg-header-height:
            72px;

    }


    body.kbg-menu-open {

        overflow:
            hidden;

    }


    .fHeader
    .navbar-header > .wrap {

        padding:
            0 15px !important;

    }


    .fHeader
    .region-header {

        gap:
            10px;

    }


    /* --------------------------------------------------------
       BRAND STAYS ON LEFT
       -------------------------------------------------------- */

    .fHeader
    .f-module-gallery-view {

        order:
            1;

        flex:
            0 1 auto;

        max-width:
            calc(100% - 65px);

    }


    .fHeader
    .f-module-gallery-view
    .fModuleContent,

    .fHeader
    .f-module-gallery-view
    .f-module-content {

        gap:
            13px !important;

    }


    .fHeader
    .fGalleryImage {

        width:
            54px;

        height:
            54px;

    }


    .kbg-header-brand-title {

        font-size:
            26px;

        font-weight:
            700;

    }


    .kbg-header-brand-title::after {

        width:
            47px;

    }


    .kbg-header-brand-spark {

        right:
            -10px;

    }


    /* --------------------------------------------------------
       BURGER STAYS ON RIGHT
       -------------------------------------------------------- */

    .kbg-menu-toggle {

        order:
            3;

        display:
            inline-flex !important;

        margin-left:
            auto;

    }


    /* --------------------------------------------------------
       MOBILE NAVIGATION PANEL
       -------------------------------------------------------- */

    .fHeader
    .f-module-pages-menu {

        position:
            fixed !important;

        z-index:
            2005;

        top:
            calc(
                var(--kbg-header-height) +
                10px
            );

        right:
            12px;

        left:
            auto;

        display:
            block !important;

        width:
            min(
                360px,
                calc(100vw - 24px)
            );

        max-height:
            calc(
                100svh -
                var(--kbg-header-height) -
                24px
            );

        margin:
            0 !important;

        padding:
            12px !important;

        overflow-x:
            hidden;

        overflow-y:
            auto;

        visibility:
            hidden;

        opacity:
            0;

        pointer-events:
            none;

        border:
            1px solid
            rgba(239,209,124,.22);

        border-radius:
            17px;

        background:

            radial-gradient(
                circle at 90% 0,
                rgba(217,173,80,.09),
                transparent 32%
            ),

            linear-gradient(
                145deg,
                #4c0912,
                #68101a 55%,
                #761521
            );

        box-shadow:
            0 24px 60px
            rgba(37,3,8,.38);

        transform:
            translateY(-12px)
            scale(.985);

        transform-origin:
            100% 0;

        transition:
            opacity .28s ease,
            visibility .28s ease,
            transform .28s
            cubic-bezier(.2,.8,.2,1);

    }


    body.kbg-menu-open
    .fHeader
    .f-module-pages-menu {

        visibility:
            visible;

        opacity:
            1;

        pointer-events:
            auto;

        transform:
            translateY(0)
            scale(1);

    }


    .fHeader
    ul.fMenu {

        display:
            flex !important;

        flex-direction:
            column;

        align-items:
            stretch;

        justify-content:
            flex-start;

        gap:
            7px;

        width:
            100%;

    }


    .fHeader
    ul.fMenu > li {

        width:
            100%;

    }


    .fHeader
    ul.fMenu > li > a {

        justify-content:
            flex-start;

        width:
            100%;

        min-height:
            52px;

        padding:
            0 17px;

        border:
            1px solid
            rgba(255,245,220,.075);

        border-radius:
            11px;

        color:
            rgba(255,248,229,.94) !important;

        background:
            rgba(255,255,255,.025);

        font-size:
            11px;

        letter-spacing:
            .75px;

        text-align:
            left;

    }


    .fHeader
    ul.fMenu > li > a::after {

        left:
            17px;

        right:
            auto;

        bottom:
            8px;

        width:
            38px;

        transform-origin:
            left;

    }


    .fHeader
    ul.fMenu > li > a:hover,

    .fHeader
    ul.fMenu > li.selected > a {

        transform:
            none;

        border-color:
            rgba(239,209,124,.24);

        background:
            rgba(255,255,255,.075);

    }


    /* --------------------------------------------------------
       PAGE CONTENT
       -------------------------------------------------------- */

    body.not-home
    .fPageTitle {

        padding:
            30px 0 4px !important;

    }


    body.not-home
    .fPageTitle h1 {

        font-size:
            42px !important;

    }


    body.not-home
    #fContent > .container,

    body.not-home
    .fPageTitle > .container {

        width:
            calc(100% - 30px) !important;

    }


    body.path-user-dashboard-
    #fMatter
    .f-module-pages-menu
    ul.fMenu {

        grid-template-columns:
            1fr;

        gap:
            13px;

    }


    body.view-account-group
    fieldset.fieldset-people
    .f-fieldset-body {

        grid-template-columns:
            1fr;

    }


    body.view-account-group
    #user-form-register
    .form-item-type-buttons {

        justify-content:
            stretch;

    }


    body.view-account-group
    #btn_submit {

        width:
            100%;

    }


    body.com-financial.view-payment
    .f-modal > form {

        grid-template-columns:
            1fr;

        padding:
            20px !important;

    }


    body.com-financial.view-payment
    .f-modal h4 {

        padding:
            16px 15px 16px 55px;

        font-size:
            15px;

    }


    body.com-financial.view-payment
    .f-modal
    .buttons {

        flex-wrap:
            wrap;

    }

}


/* ========================================================================
   SMALL MOBILE
   ======================================================================== */

@media (max-width: 600px) {

    body.com-user.not-home:not(.view-account-group)
    #fContent > .container {

        width:
            calc(100% - 30px) !important;

    }


    body.com-user.not-home:not(.view-account-group)
    #fMatter > form.fForm {

        padding:
            26px 20px;

    }


    body.com-financial.view-checkout
    #fMatter > form.fForm.invoice-pmodes
    > .f-table-invoice {

        width:
            100% !important;

        max-width:
            100% !important;

        table-layout:
            fixed;

    }


    body.com-financial.view-checkout
    .f-table-invoice th,
    body.com-financial.view-checkout
    .f-table-invoice td {

        padding:
            12px 6px;

    }


    body.com-financial.view-checkout
    .f-table-invoice th:first-child,
    body.com-financial.view-checkout
    .f-table-invoice td:first-child {

        width:
            42% !important;

    }


    body.com-financial.view-checkout
    .f-table-invoice th:nth-child(2),
    body.com-financial.view-checkout
    .f-table-invoice td:nth-child(2) {

        width:
            9% !important;

    }


    body.com-financial.view-checkout
    .f-table-invoice th:nth-child(3),
    body.com-financial.view-checkout
    .f-table-invoice td:nth-child(3) {

        width:
            23% !important;

    }


    body.com-financial.view-checkout
    .f-table-invoice th:nth-child(4),
    body.com-financial.view-checkout
    .f-table-invoice td:nth-child(4) {

        width:
            26% !important;

    }


    body.com-financial.view-checkout
    .f-table-invoice th:not(:first-child),
    body.com-financial.view-checkout
    .f-table-invoice td:not(:first-child) {

        font-size:
            11px;

        white-space:
            nowrap;

    }


    body.com-financial.view-checkout
    .f-table-invoice .title {

        font-size:
            13px;

        line-height:
            1.45;

    }


    body.com-financial.view-checkout
    .f-table-invoice .description {

        font-size:
            10px;

        line-height:
            1.35;

    }


    body.com-financial.view-checkout
    #fMatter > form.fForm.invoice-pmodes
    > .buttons {

        min-height:
            76px !important;

        padding:
            12px 15px !important;

    }


    body.com-financial.view-checkout
    #fMatter > form.fForm.invoice-pmodes
    > .buttons
    > input[name="submit"] {

        flex:
            1 1 100% !important;

        width:
            100% !important;

        min-width:
            100% !important;

        max-width:
            100% !important;

        margin:
            0 !important;

    }

}


@media (max-width: 480px) {

    body.not-home
    #fContent > .container,

    body.not-home
    .fPageTitle > .container {

        width:
            calc(100% - 22px) !important;

    }


    body.not-home
    .fPageTitle h1 {

        font-size:
            37px !important;

    }


    body.view-account-group
    .user-register-group
    .f-table-row {

        display:
            grid;

        grid-template-columns:
            1fr;

    }


    body.view-account-group
    .user-register-group
    .f-table td {

        display:
            block;

        width:
            100% !important;

    }


    body.view-account-group
    .user-register-group-size
    .f-fieldset-body {

        align-items:
            flex-start;

        flex-direction:
            column;

        gap:
            10px;

    }


    body.com-financial.view-payment
    .f-modal
    .buttons input,

    body.com-financial.view-payment
    .f-modal
    .buttons a {

        width:
            100%;

    }


    #nav-up {

        right:
            14px !important;

        bottom:
            14px !important;

        width:
            44px !important;

        height:
            44px !important;

    }

}


/* ========================================================================
   SMALLER PHONE — BRAND MUST STILL LOOK LIKE A BRAND
   ======================================================================== */

@media (max-width: 420px) {

    .fHeader
    .f-module-gallery-view
    .fModuleContent,

    .fHeader
    .f-module-gallery-view
    .f-module-content {

        gap:
            10px !important;

    }


    .kbg-header-brand-title {

        font-size:
            23px;

    }


    .kbg-header-brand-title::after {

        width:
            42px;

    }


    .kbg-header-brand-spark {

        display:
            none;

    }

}


/* ========================================================================
   EXTREMELY NARROW PHONE
   ======================================================================== */

@media (max-width: 350px) {

    .kbg-header-brand-title {

        font-size:
            21px;

    }

}


/* ========================================================================
   PRINT
   ======================================================================== */

@media print {

    .fHeader,
    .head-padding,
    .fPageTitle,
    #nav-up,
    #fFooter,
    #btn-print,
    .kbg-menu-backdrop,
    .kbg-menu-toggle {

        display:
            none !important;

    }


    body,
    body.not-home #fContent {

        background:
            #ffffff !important;

    }


    body.not-home
    #fContent {

        padding:
            0 !important;

    }


    body.not-home
    #fContent > .container {

        width:
            100% !important;

    }

}


/* ========================================================================
   ACCESSIBILITY / REDUCED MOTION
   ======================================================================== */

@media (prefers-reduced-motion: reduce) {

    *,
    *::before,
    *::after {

        animation-duration:
            .001ms !important;

        animation-iteration-count:
            1 !important;

        transition-duration:
            .001ms !important;

    }

}