.dashboard_wrapper .padding{background: black;}

#page_background{
    position: absolute; 
    top: 0; left: 0; 
    width: 100%;
    aspect-ratio: 3 / 1;
    background-size: cover!important; 
    background-position: center!important; 
}

#page_background .mask{
    position: absolute; 
    bottom: 0; left: 0;
    width: 100%;
    height: 30%;

    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0) 0%,
        rgba(0,0,0,1) 100%
    );
}

#background_hero{
    width: calc(100% - 40px);
    aspect-ratio: 5 / 1;
    padding: 20px; 
    position: relative;
    display: flex;
    align-items: flex-end; 
}

@media(min-width: 740px){
    #background_hero .text_wrapper{
        width: 50%; 
    }
}

.membership_block{
    width: calc(100% - 40px);
    padding: 20px; 
    color: white;
    position: relative; 
    margin-bottom: 80px;
}

p, h1, h2, h3, h4{color: var(--light-grey);}

.membership_block p, .membership_block h1, .membership_block h2, .membership_block h3, .membership_block h4{color: var(--light-grey); padding: 0; margin: 0; line-height: 1em; }

h1{padding: 0; margin: 0; line-height: 1em;}

.pricing_grid{
    display: grid;
    gap: 30px 10px;
    position: relative;
}

.pricing_grid > div{
    padding: 10px; 
    border: 1px solid rgba(125,125,125,0.5);
    border-radius: 10px; 
    min-height: 100px;
    padding: 30px 40px 70px 40px;
    position: relative;
}

.pricing_grid > div .select_option{
    position: absolute; 
    bottom: 20px; left: 50%; 
    transform: translateX(-50%);
    width: calc(100% - 40px);
    text-align: center;
}

.pricing_grid > div.special{
    border: 1px solid var(--primary-color);
    transform: translateY(-20px);
    height: calc(100% - 80px);
    padding-top: 50px;
    
}

.pricing_grid > div .v_grid{
    display: grid;
    grid-template-rows: 40px 40px 80px 1fr;
}

.pricing_grid > div.special .special_tag{
    position: absolute; 
    top: -10px; 
    left: 50%; 
    transform: translateX(-50%);
    padding: 3px 25px; 
    background: var(--primary-color);
    border-radius: 15px; 
}

.pricing_grid > div.special .special_tag p{
    font-size: 10px; 
    text-transform: uppercase;
    color: var(--text-color); 
}

.pricing_grid > div .v_grid .highlight{color: var(--primary-color)!important;}

.pricing_grid > div .v_grid h1{display: block; text-align: center;}

.pricing_grid > div .v_grid h1 > span{
    font-size: 60px!important; 
}

.pricing_grid > div .v_grid ul{
    padding: 0; margin: 0; text-indent: 0;
}

.pricing_grid .v_grid ul li{
    list-style: none;
    position: relative;
    padding-left: 25px;
}

.pricing_grid > div .v_grid ul li .check{
    position: absolute; top: 0; left: 0;
    transform: translateY(-5px);
}

.pricing_grid > div .v_grid ul li .check span{
    font-size: 18px; color: var(--primary-color);

}

.pricing_grid .monthly{display: none;}
.pricing_grid .yearly{display: block;}

.pricing_grid.monthly .monthly{display: block;}
.pricing_grid.monthly .yearly{display: none;}

@media(min-width: 740px){
    .pricing_grid{
        grid-template-columns: 1fr 1fr;
        gap: 30px 10px;
        
    }
    
}

@media(min-width: 1200px){
    .pricing_grid{
        grid-template-columns: 1fr 1fr 1fr 1fr;
        gap: 10px;
    }
    
}
