@font-face{font-family:Gaby;
src:url('/assets/fonts/GabyDemo.ttf') format('truetype'),url('/members/member_portal/assets/fonts/GabyDemo.ttf') format('truetype');
font-display:swap;
}



@font-face{font-family:SimSunLocal;
src:url('/assets/fonts/simsun.ttc'),url('/members/member_portal/assets/fonts/simsun.ttc');
font-display:swap;
}



:root{--plum:#7b004a;
--deepplum:#4b002d;
--brandplum:#A40063;
--crimson:#CD0D4C;
--orange:#FA8900;
--gold:#ffd36a;
--cream:#fff7ef;
--ink:#2b1022;
--white:#fff;
--shadow:0 22px 60px rgba(90,0,55,.28)}


*{box-sizing:border-box}


body{margin:0;
color:var(--ink);
background:linear-gradient(180deg,#FA8900,#FA8900);
font-family:Georgia,Garamond,serif;
padding-bottom:0}


a{text-decoration:none;
color:inherit}


.site-header{background:linear-gradient(100deg,var(--deepplum),var(--plum),var(--brandplum));
color:#fff;
min-height:72px;
display:flex;
align-items:center;
gap:24px;
padding:10px clamp(14px,4vw,54px);
position:sticky;
top:0;
z-index:30;
box-shadow:0 10px 24px rgba(80,0,48,.25)}


.brand{display:flex;
align-items:center}


.brand-title{font-family:Georgia,Garamond,serif;
font-weight:400;
font-size:clamp(2rem,4vw,3rem);
line-height:1;
margin:0}


.desktop-nav{margin-left:auto;
display:flex;
gap:14px;
flex-wrap:wrap;
justify-content:flex-end}


.desktop-nav a{font-weight:bold;
padding:8px 10px;
border-radius:999px}


.desktop-nav a:hover{background:var(--orange);
color:#fff}


.gb-home-hero{background:var(--plum);
overflow:hidden}


.gb-home-hero img{display:block;
width:100%;
 max-width:1220px;
height:auto;
 margin:0 auto;
}


.gb-intro{background:#050505;
color:var(--orange);
padding:24px clamp(18px,4vw,34px);
border:0}


.gb-intro h2{color:#fff;
font-size:clamp(1.7rem,4vw,2.4rem);
font-weight:400;
margin:0 0 12px}


.gb-intro p{font-size:1.03rem;
line-height:1.45;
max-width:100%;
margin:0}


.motherstribe-home{background:var(--orange);
text-align:center;
padding:18px 0 0;
position:relative}


.motherstribe-home h2{font-family:Gaby,Georgia,serif;
color:var(--crimson);
font-size:clamp(3rem,8vw,4.5rem);
line-height:.9;
margin:0}


.motherstribe-home p{margin:8px 16px 16px}


.motherstribe-home img{display:block;
width:100%;
 max-width:1200px;
height:auto;
 margin:0 auto;
}


.gb-explore{position:absolute;
left:22px;
bottom:20px;
background:var(--crimson);
color:#fff;
text-transform:uppercase;
font-weight:bold;
padding:13px 22px;
border:1px solid rgba(255,255,255,.8)}


.section-title{display:none}


.home-grid{display:none}


.feature-card{position:relative;
overflow:hidden;
border-radius:28px;
min-height:280px;
background:linear-gradient(135deg,var(--plum),var(--crimson));
color:#fff;
box-shadow:var(--shadow);
display:flex;
align-items:flex-end}


.feature-card:before{content:"";
position:absolute;
inset:0;
background-image:var(--bg);
background-size:cover;
background-position:center;
opacity:.88}


.feature-card:after{content:"";
position:absolute;
inset:0;
background:linear-gradient(to top,rgba(75,0,45,.90),rgba(164,0,99,.35),rgba(250,137,0,.10))}


.feature-card-body{position:relative;
z-index:2;
padding:24px}


.feature-card h3{font-family:Gaby,Georgia,serif;
font-size:clamp(2.1rem,5vw,3rem);
line-height:.95;
margin:0 0 8px}


.feature-card p{line-height:1.45}


.btn{display:inline-block;
background:var(--orange);
color:#fff;
padding:13px 20px;
border-radius:999px;
font-weight:bold;
box-shadow:0 8px 22px rgba(250,137,0,.35);
margin:7px 8px 7px 0}


.page-wrap{width:min(980px,calc(100% - 28px));
margin:28px auto 44px;
background:#fff;
border:1px solid rgba(164,0,99,.15);
box-shadow:var(--shadow);
border-radius:30px;
overflow:hidden}


.page-hero{min-height:390px;
background:linear-gradient(to bottom,rgba(205,13,76,0),rgba(205,13,76,0)),var(--hero);
background-size:cover;
background-position:center;
display:flex;
align-items:end;
color:white;
padding:34px}


.page-hero h1{font-family:Georgia,serif;
font-size:clamp(2rem,5vw,3rem);
line-height:.82;
margin:0 0 22px}


.page-content{padding:30px;
font-size:1.08rem;
line-height:1.7}


.page-content h2,.page-content h3{color:var(--brandplum);
font-family:Georgia,serif}


.placeholder-box{border:2px dashed var(--orange);
background:#fff8ed;
color:var(--plum);
border-radius:22px;
padding:20px;
text-align:center;
font-weight:bold;
margin:20px 0}


.newsletter-panel{background:var(--orange);
padding:22px;
text-align:center}


.newsletter-panel h3{font-family:Georgia,serif;
color:#fff;
font-size:2rem;
margin:0 0 12px}


.newsletter-panel input{width:min(520px,100%);
padding:14px;
border:0;
border-radius:4px;
margin:8px}


.newsletter-panel button{background:var(--crimson);
color:#fff;
border:0;
border-radius:4px;
padding:14px 24px;
font-weight:bold;
text-transform:uppercase}


.site-footer{
    width:100%;

    background:linear-gradient(
        180deg,
        #CD0D4C 0%,
        #BA0A56 50%,
        #A40063 100%
    );

    color:#fff;

    text-align:center;

    padding:24px 0 98px;

    margin:0;

    overflow:hidden;

}




.footer-logo{
    display:block;

    width:100%;

    max-width:646px;

    max-height:323px;

    height:auto;

    object-fit:contain;

    margin:0 auto;

 
}


.social-row{display:flex;
gap:16px;
justify-content:center;
flex-wrap:wrap;
margin:18px 0}


.social-row a{background:#fff;
color:var(--brandplum);
border-radius:999px;
width:34px;
height:34px;
display:grid;
place-items:center;
font-weight:bold}


.footer-small{font-size:.78rem;
margin:12px 0 0}


.footer-small a{text-decoration:underline}


.footer-links{display:none}


.bottom-nav{position:fixed;
z-index:50;
left:0;
right:0;
bottom:0;
height:64px;
background:var(--brandplum);
display:flex;
justify-content:space-around;
align-items:center;
color:#fff;
box-shadow:0 -8px 28px rgba(80,0,48,.25)}


.bottom-nav a,.bottom-nav button{background:none;
border:0;
color:#fff;
font:inherit;
font-size:.72rem;
font-weight:bold;
display:flex;
flex-direction:column;
gap:2px;
align-items:center;
max-width:74px;
overflow:hidden;
white-space:nowrap}


.bottom-nav .ico{font-size:1.35rem;
color:var(--orange);
line-height:1}


.more-panel{display:none;
background:var(--brandplum);
position:fixed;
z-index:49;
right:0;
bottom:auto;
top:68px;
width:min(340px,100%);
max-height:calc(100vh - 68px);
color:#fff;
box-shadow:-14px 0 40px rgba(0,0,0,.35);
overflow:auto}


.more-panel.open{display:block}

.more-panel a:hover{
    
background:var(--orange);
    
color:#fff;
}
.more-panel a:hover .ico{
    color:#fff;
}

.more-panel a{display:flex;
gap:14px;
align-items:center;
padding:15px 16px;
border-top:1px solid rgba(255,255,255,.10);
font-weight:bold}


.more-panel .ico{font-size:1.45rem;
color:#fff;
min-width:30px;
text-align:center}


.more-close{position:absolute;
right:8px;
top:4px;
background:none;
border:0;
color:#fff;
font-size:2.2rem}

.responsive-table{
    width:100%;
	max-width:1200px;
    border-collapse:collapse;
}

.responsive-table td{
    width:50%;
    vertical-align:top;
    padding:12px;
}

.responsive-table img{
    display:block;
    width:100%;
    max-width:420px;
    height:auto;
    margin:0 auto;
}
.rounded-image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 24px;
    overflow: hidden;
}

.page-content a{
   
color:var(--crimson);
   
font-weight:bold;
    
text-decoration:none;
}



.page-content a:hover,


.page-content a:focus{
   
color:var(--orange);
   
text-decoration:underline;
}



.page-content a:visited{
    
color:var(--brandplum);
}


.page-content a:active{
    
color:var(--orange);
    
text-decoration:underline;
}

@media(max-width:800px){

    .responsive-table,
    .responsive-table tbody,
    .responsive-table tr,
    .responsive-table td{
        display:block;
        width:100%;
    }

    .responsive-table td{
        margin-bottom:18px;
    }

}


@media(max-width:800px){.site-header{min-height:68px}


.desktop-nav{display:none}


.brand-title{font-size:2rem}


.page-hero{min-height:310px}


.page-hero h1{font-size:4rem}


.page-content{padding:22px}


}


@media(min-width:801px){
    .bottom-nav,.more-panel{display:none!important}



    body{padding-bottom:0}



    .site-footer{padding:34px 24px 30px}



    .footer-logo{
        border-radius:20px;

        box-shadow:0 18px 44px rgba(75,0,45,.28);

    }



}




.mobile-menu-button {
    display:none;

    margin-left:auto;

    background:none;

    border:0;

    color:#fff;

    font-size:2rem;

    line-height:1;

    padding:6px 10px;

    cursor:pointer;

}




@media(max-width:800px) {
    .mobile-menu-button {
        display:block;

    }



}






/* =========================================================
   SESSION INFORMATION DROPDOWNS
   Used inside .responsive-table session blocks
   ========================================================= */

.session-more {
    width:100%;
    margin-top:14px;
    border-top:1px solid rgba(123,0,74,.18);
}

.session-more summary {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    width:100%;
    min-height:48px;
    padding:13px 2px;
    color:var(--brandplum);
    font-family:Georgia,Garamond,serif;
    font-size:1rem;
    font-weight:bold;
    line-height:1.4;
    cursor:pointer;
    list-style:none;
    -webkit-tap-highlight-color:transparent;
}

.session-more summary::-webkit-details-marker {
    display:none;
}

.session-more summary::marker {
    content:"";
}

.session-more summary::after {
    content:"+";
    flex:0 0 auto;
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border:1px solid var(--brandplum);
    border-radius:50%;
    font-size:22px;
    font-weight:normal;
    line-height:1;
}

.session-more[open] summary::after {
    content:"−";
}

.session-more summary:hover,
.session-more summary:focus {
    color:var(--crimson);
    text-decoration:none;
}

.session-more summary:hover::after,
.session-more summary:focus::after {
    border-color:var(--crimson);
}

.session-more summary:focus-visible {
    outline:3px solid rgba(250,137,0,.45);
    outline-offset:4px;
    border-radius:4px;
}

.session-more-content {
    width:100%;
    padding:2px 2px 18px;
    font-size:1rem;
    line-height:1.7;
    overflow-wrap:anywhere;
}

.session-more-content p:first-child {
    margin-top:0;
}

.session-more-content p:last-child {
    margin-bottom:0;
}

.session-more-content ul,
.session-more-content ol {
    padding-left:1.35rem;
}

.session-more-content img {
    max-width:100%;
    height:auto;
}

@media(max-width:800px) {
    .session-more {
        margin-top:10px;
    }

    .session-more summary {
        padding:13px 0;
        font-size:1rem;
    }

    .session-more-content {
        padding:0 0 16px;
        font-size:.98rem;
        line-height:1.65;
    }
}
.bottom-nav .ico,
.more-panel .ico {
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.bottom-nav .ico img,
.more-panel .ico img {
    width: 28px;
    height: 28px;
    display: block;
    object-fit: contain;
}