/*
Theme Name: Arden Forest
Author: 88mph Designs - Mark Feltwell
Author URI: http://www.88mph.design
Description: Web Design in Droitwich, Kidderminster, Worcester, Birmingham
Version: 1.0
Tags:
Text Domain: ardenforest
*/

/* Backings Style */

@import url("css/root.css");

html {
    font-size: 16px;
}

body {
    font-family: 'Nunito', sans-serif !important;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    color: var(--text);
    line-height: 1.5;
    font-size: var(--font-size);
}

/* Global ____________________________________________________________________*/
ul.ul {
    list-style-type: none;
    padding: 0;
    margin: 0;
    background: none;
}

.ul li {
    padding: 0.75rem 0;
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

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

.body ul:not(.contactDetails) {
    background-color: var(--bg-lt);
    border-radius: var(--radius-md);
    padding: 1rem 1rem 1rem 2.5rem;
	margin: 1rem 0;
}

.bkg_img {
    position: absolute;
    top: 0;
    left: 0;
    background-position: center;
    background-size: cover;
    height: 100%;
    width: 100%;
    z-index: -1;
}

a {
    text-decoration: none;
    font-weight: 600;
    transition: 0.15s;
}

p a {
    text-decoration: underline;
}

p:last-of-type {
    margin-bottom: 0;
}

.alignright {
    float: right;
    margin-left: 2rem;
    margin-bottom: 1rem;
}

.alignleft {
    float: left;
    margin-right: 2rem;
    margin-bottom: 1rem;
}

.aligncenter {
    display: block;
    margin: 0 auto;
    margin-bottom: 1rem;
}

hr {
    margin: 2rem 0;
    border: 1px solid var(--border-dk);
}

/* Bootstrap grid ____________________________________________________________*/
.row {
    --bs-gutter-x: 2rem;
}

/* Sections __________________________________________________________________*/
@media (max-width: 767.98px) {
    body {
        --page-spacer: 2.5rem;
        --box-padding: 1.5rem;
    }
}

.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
    --bs-gutter-x: 4rem;
}

.arden_blocks {
    margin: var(--page-spacer) 0;
}

.pageSection {
    padding: var(--page-spacer) 0;
}

.arden_blocks .pageSection:first-child .bg_grey,
.arden_blocks .pageSection.bg_grey:first-child {
    margin-top: calc(var(--page-spacer)*-1);
}

.arden_blocks .pageSection:last-child .bg_grey,
.arden_blocks .pageSection.bg_grey:last-child {
    margin-bottom: calc(var(--page-spacer)*-1);
}

.arden_blocks[class*='bg_'] {
    margin: 0;
    padding: var(--page-spacer) 0;
}

/* Backgrounds _______________________________________________________________*/
.bg_neutral {
    background-color: var(--neutral) !important;
}

.bg_dark {
    background-color: var(--bg-dk) !important;
    color: var(--neutral);
    --header: var(--neutral);
    --icon: var(--icon-lt);
}

.bg_darker {
    background-color: var(--bg-dkr) !important;
    color: var(--neutral);
    --header: var(--neutral);
    --icon: var(--icon-lt);
}

.bg_dark .sectionHeader,
.bg_darker .sectionHeader {
    color: var(--text-dk) !important;
}

.bg_dark a,
.bg_darker a {
    color: var(--link-dk) !important;
}

.bg_grey {
    background-color: var(--bg-lt) !important;
    --doc-bdr: var(--border-dkr);
    --doc-bg: var(--bg-wht);
} 

.bg_grey ul {
    --bg-lt: var(--bg-wht);
}

.bg_neutral ul {
    --bg-lt: var(--light);
}

[class*='bg_']:not(.bg_neutral) + [class*='bg_']:not(.bg_neutral) {
    padding-top: 0;
}

/* Headers ___________________________________________________________________*/
h1, h2, h3, h4, h5, h6 {
    font-weight: 800;
    margin: 0 0 1rem;
    line-height: 1.25;
    color: var(--header);
}

h1, .h1 {
    font-size: 2.5rem;
}

h2, .h2 {
    font-size: 2rem;
}

h3, .h3 {
    font-size: 1.5rem;
}

h4, .h4 {
    font-size: 1.25rem;
}

h5, .h5 {
    font-size: var(--font-size);
}

h6, .h6 {
    font-size: 1rem;
}

.preheader {
    margin-bottom: 0.25rem;
    font-weight: 800;
    color: var(--text-secondary);
}

.bg_grey .preheader {
    color: var(--green-md);
}

.bg_neutral  .preheader {
    color: var(--text-secondary);
}


/* Buttons ___________________________________________________________________*/
.btn {
    border-radius: var(--radius-md);
    padding: 0.75rem 1.5rem;
    font-weight: 900;
    border-width: var(--border-wth);
    border-bottom-width: var(--border-btm);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
}

.button_bar {
    display: flex;
    align-items: center;
    margin-top: 3rem;
    gap: 0.5rem;
    flex-wrap: wrap;
}

.button_bar .btn {
    flex: 1;
}

@media (max-width: 767.98px) {
    .button_bar a:has(.btn) {
        width: 100%;
        display: flex;
    }
}

.button_bar.buttons_center {
    justify-content: center;
}

.btn-primary {
    border-color: var(--dark);
    color: var(--dark);
    background-color: var(--secondary);
}

.btn-primary:hover {
    border-color: var(--dark);
    color: var(--dark);
    background-color: var(--secondary-hover);
}

.btn-outline-primary {
    border-color: var(--dark);
    color: var(--dark);
}

.btn-outline-primary:hover {
    background-color: var(--primary);
    border-color: var(--dark);
    color: var(--neutral);
}

.btn-secondary {
    border-color: var(--border-dk);
    color: var(--dark);
    background-color: var(--neutral);
    text-decoration: none;
}

.btn-secondary:hover {
    color: var(--dark);
    background-color: var(--dark-hover);
    border-color: var(--dark);
}

.btn-menu {
    margin-left: auto;
    color: var(--neutral);
    padding: 0.5rem;
    height: 3rem;
    width: 3rem;
    justify-content: center;
}

.btn-menu:hover {
    background-color: var(--green-dk);
    color: var(--neutral);
}

/* Logo ______________________________________________________________________*/
.logo img {
    height: 100%;
    width: auto;
}

/* Icons _____________________________________________________________________*/
.icon {
    color: var(--icon);
    font-size: 1.5rem;
}

/* Body ______________________________________________________________________*/
.body h3,
.body h4,
.body h5 {
    margin-bottom: 0.5rem;
}

.body * + h3,
.body * + h4,
.body * + h5 {
    margin-top: 1.5rem;
}

/* Header ____________________________________________________________________*/
.header {
    background-color: var(--primary);
    box-shadow: var(--box-shadow);
    position: sticky;
    top: 0;
    z-index: 999;
}

.header .headerInner {
    padding: 1rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header .headerInner .logo {
    height: 5.75rem;
    margin: -0.5rem 0.5rem -2.5rem 0;
    position: relative;
    z-index: 10;
}

@media (max-width: 1199.98px) {
    .header .headerInner .logo {
        height: 5rem;
        margin: -1.5rem 0 -2.5rem -1rem
    }
}

@media (max-width: 991.98px) {
    .header .headerInner {
        padding: 0.25rem 1rem;
    }
    
    .header .headerInner .logo {
        height: 4rem;
        margin: 0 0.5rem -1.25rem 0;
    }
}

ul.mainMenu {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    gap: 0.5rem;
    padding: 0;
}

@media (max-width: 1199.98px) {
    ul.mainMenu {
        gap: 0.125rem;
    }
}

ul.mainMenu li a {
    padding: 0.75rem 1rem;
    text-decoration: none;
    font-weight: 800;
    display: block;
    color: var(--neutral);
    border-radius: var(--radius-sm);
}

ul.mainMenu li a:hover {
    background-color: var(--dark-hover);
}

ul.mainMenu li a:not([href]):not([class]),
ul.mainMenu li a:not([href]):not([class]):hover {
    color: var(--neutral);
    cursor: pointer;
}

/* Mobile menu */
#mobileMenu {
    margin: 1rem;
    border-radius: var(--radius-lg);
}

#mobileMenu .offcanvas-header {
    padding-right: 1.25rem;
}

.mobileMenu {
    background-color: var(--bg-lt);
    padding: 1rem;
    border-radius: var(--radius-lg);
    margin: 0;
    margin-bottom: 1rem;
    list-style-type: none;
    display: flex;
    flex-direction: column;
    gap: 0.125rem;
}

ul.mobileMenu li a:not([href]):not([class]) {
    cursor: pointer;
}

ul.mobileMenu a {
    padding: 0.75rem 1rem;
    display: block;
    border-radius: 0.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    color: var(--text);
    font-weight: 800;
}

ul.mobileMenu a:hover,
ul.mobileMenu li a:not([href]):not([class]):hover {
    background-color: var(--dark-hover);
}

.mobileMenu .menu-item .sub-menu {
    position: relative;
    max-height: 0;
    transition: 0.25s ease-in-out;
    overflow: hidden;
    padding: 0 0.5rem;
    display: block;
    box-shadow: none;
    background-color: var(--grey-30);
}

.mobileMenu .menu-item.active .sub-menu {
    max-height: 20rem;
    padding: 0.5rem;
    margin: 0.125rem 0 0.5rem;
}

.mobileMenu .menu-item .sub-menu a {
    padding: 0.5rem;
}

.mobileMenu .menu-item .sub-menu a:hover {
    background-color: var(--grey-40);
 }

.mobileContact {
    padding: 1rem;
    font-size: 1rem;
}

.mobileContact .icon {
    font-size: inherit;
}

.mobileContact li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    padding: 0.25rem 0;
}

/* Navigation ________________________________________________________________*/
.menu-item .sub-menu {
    background: var(--neutral);
    padding: 0.5rem 0.5rem;
    border-radius: var(--radius-md);
    position: absolute;
    display: none;
    z-index: 5;
    background-color: var(--bg-dk);
    list-style: none;
    box-shadow: var(--box-shadow);
}

.menu-item.active .sub-menu {
    display: block;
}

.menu-item-has-children > a:after {
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f078";
    font-size: 0.875rem;
    margin-left: 0.25rem;
    display: inline-block;
}

.menu-item-has-children.active > a:after {
    transform: rotate(180deg);
}

ul.mainMenu .sub-menu li a:hover {
    color: var(--text-secondary);
    background-color: var(--light-hover);
}

/* Hero ______________________________________________________________________*/
.hero {
    position: relative;
    padding: 6rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 16rem;
    overflow: hidden;
}

@media (max-width: 991.98px) {
    .hero {
        padding: 3rem 1.5rem;
        min-height: 12rem;
    }
}

.hero::before {
    content: '';
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-color: var(--black);
    mix-blend-mode: multiply;
    opacity: 0.4;
}

.hero.jumbotron {
    padding: 6rem 1.5rem 8rem;
    min-height: 30rem;
    text-align: center;
    border-bottom-right-radius: 16rem;
    box-shadow: var(--box-shadow-lg);
}

@media (max-width: 1199.98px) {
    .hero.jumbotron {
        padding: 4rem 1.5rem 6rem;
        min-height: 24rem;
        border-bottom-right-radius: 10rem;
    } 
}

@media (max-width: 991.98px) {
    .hero.jumbotron {
        padding: 2rem 1.5rem 4rem;
        min-height: 16rem;
        border-bottom-right-radius: 0;
    } 
}

.hero .heroBody {
    position: relative;
    color: var(--neutral);
}

.school_name {
    display: flex;
    align-items: center;
    text-align: left;
}

.school_name .logo {
    height: 10rem;
    margin-right: 1rem;
}

.school_name .name_text {
    font-size: 4.5rem;
    font-weight: 900;
    line-height: 1;
}

@media (max-width: 991.98px) {
    .school_name .logo {
        height: 5rem;
    }
    
    .school_name .name_text {
        font-size: 2.5rem;
    }
}

.school_name .name_text .line1,
.school_name .name_text .line2 {
    display: block;
}

.school_name .name_text .line2 {
    font-weight: 300;
}

.hero .tagline {
    position: absolute;
    bottom: -2rem;
    right: 0;
    font-size: 1.25rem;
    font-weight: 800;
    color: var(--text-secondary);
}

@media (max-width: 991.98px) {
    .hero .tagline {
        font-size: 1rem;
    }
}

.heroTitle {
    margin: 0;
    color: inherit;
}

/* Content ___________________________________________________________________*/
.content .body p:not(.box .body p),
.postArticle p {
    max-width: 56rem;
}

.content .body p:first-child,
.postArticle p:first-child {
    font-weight: 700;
}

.box,
.border_bx {
    background-color: var(--neutral);
    border-radius: var(--radius-lg);
    padding: var(--box-padding);
}

.border_bx  {
    border: 0.125rem solid var(--border);
}

@media (max-width: 767.98px) {
    .box,
    .border_bx {
        margin-left: -1.5rem;
        margin-right: -1.5rem;
    }
}

/* Footer ____________________________________________________________________*/
footer.footer {
    padding: 4rem 0;
}

footer .schoolInfo h6 {
    margin-bottom: 0.5rem;
}

footer .schoolInfo address br {
    display: none;
}

.subFooter {
    padding: 1rem 0 !important;
    font-size: 0.85rem;
}

.subFooter .content a:hover {
    text-decoration: underline;
}

.schoolInfo ul {
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
}

.schoolInfo ul li {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
}

.schoolInfo ul .icon {
    font-size: inherit;
}

.accreditations {
    display: flex;
    gap: 0.25rem;
    height: 100%;
    align-items: flex-end;
    justify-content: flex-end;
}

.accreditations img {
    height: 6rem;
    width: 6rem;
    object-fit: contain;
}

@media (max-width: 991.98px) {
    .accreditations {
        margin-top: 1rem;
        justify-content: flex-start;
    }
}

/* Cards _____________________________________________________________________*/
.cards {
    row-gap: 1.5rem;
}

.card {
    height: 100%;
    border: none;
    border-bottom: var(--border-btm) solid var(--border);
    border-radius: var(--radius-md);
}

.card-body {
    padding: 1.25rem 1.5rem;
    color: var(--text);
}

.card .card-img-top,
.card .card-img {
    height: 12rem;
    width: 100%;
    object-fit: cover;
    border-top-left-radius: var(--radius-md);
    border-top-right-radius: var(--radius-md);
}

.card-title {
    color: var(--primary);
}

.card-content {
    font-size: 1rem;
}

.card .card-footer {
    border: none;
    background: none;
    padding: 1.25rem 1.5rem;
}

.card.news_card:hover {
    border-color: var(--border-hover-pr);
}

.card.news_card a:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    border-radius: var(--radius-md);
    border: var(--border-wth) solid transparent;
    border-bottom-left-radius: calc(var(--radius-md) - 3px);
    border-bottom-right-radius: calc(var(--radius-md) - 3px);
    transition: 0.15s;
}

.card.news_card:hover a:after {
    border-color: var(--border-hover-pr);
}

.card-subtitle {
    font-weight: 400;
    font-size: 0.85rem;
}

/* Single post _______________________________________________________________*/
.postBylineHeader {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 2rem;
}

.dateRead {
    display: flex;
    align-items: center;
    gap: 1rem;
    font-size: 0.85rem;
    color: var(--muted);
}

.dateRead .icon i {
	display: block;
}

.postBylineHeader .authorName {
    font-weight: 700;
}

.authorAvatar img {
    border-radius: var(--radius-round);
    border: 1px solid var(--border);
}

.readTime,
.postDate {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.dateRead .icon,
.postTags .icon {
    height: 1rem;
    display: block;
    font-size: 0.875rem;
}

.postTags .icon {
    font-size: 1rem;
}

.postTags {
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.tagItem {
    background-color: var(--tag-bkg);
    color: var(--text);
    font-weight: 700;
    font-size: 0.875rem;
    border-radius: var(--radius-round);
    padding: 0.25rem 0.75rem;
    text-transform: capitalize;
    display: inline-block;
}

.tagItem:hover {
    background-color: var(--tag-hover);
}

article.postArticle + .postTags {
    margin-top: 3rem;
}

.sinlge-post .wp-block-heading {
    color: var(--header);
    margin: 3rem 0 1rem;
}

.single-post p {
    margin: 1rem 0;
}

.single-post p + section {
    margin-top: 3rem;
}

figcaption.wp-element-caption {
    text-align: center;
    font-size: 0.85rem;
    color: var(--muted);
}

/* News Sidebar ______________________________________________________________*/
.newsSidebar {
    border-left: 1px solid var(--border);
    padding-left: 2rem;
}

@media (max-width: 991.98px) {
    .newsSidebar {
        border-left: none;
        border-top: 1px solid var(--border);
        padding-top: 3rem;
        padding-left: 0;
    }
}

.relatedPost {
    display: flex;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 1.25rem;
}

.relBylineHeader .author {
    display: flex;
    align-items: center;
    gap: 0.25rem;
    font-weight: 700;
    font-size: 0.85rem;
    margin-bottom: 0.125rem;
}

img.relPostThumb {
    width: 3.5rem;
    height: 3.5rem;
    border-radius: var(--radius-xs);
    border: 1px solid var(--border);
    object-fit: cover;
}

.relatedPost .dateRead {
    display: block;
    margin-bottom: 0.5rem;
}

.relPostTitle a h6 {
    font-weight: 700;
    margin: 0;
}

/* Contact ___________________________________________________________________*/
/* .schoolContact {
    padding: 0 4rem;
} */

.ul.admin {
    display: flex;
    align-items: center;
    gap: 0.25rem 1rem;
    flex-wrap: wrap;
    margin: 0.5rem 0;
}

.ul.admin li {
    padding: 0;
    width: auto;
}

.ul.admin li.times {
    width: 100%;
}

.ul.admin li.times .icon {
    font-size: inherit;
}

address {
    margin: 0;
}

.contactHeader {
    margin-bottom: 2rem;
}

.contact .detailsBox.box {
    position: relative;
    z-index: 10;
}

ul.contactDetails {
    font-size: 1rem;
    background-color: var(--bg-lt);
    padding: 1.5rem 2rem;
    border-radius: var(--radius-lg);
}

ul.contactDetails .icon {
    font-size: inherit;
}

/* .contactPage .map {
    margin-top: -6rem;
    position: relative;
    z-index: 0;
} */

/* Images ____________________________________________________________________*/
.image {
    overflow: hidden;
    border-radius: var(--radius-lg);
    box-shadow: var(--box-shadow-img);
    margin: 0;
    display: inline-block;
}

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

@media (max-width: 767.98px) {
    .image img {
        max-height: 18rem;
    }
}

.image.naked {
    overflow: unset;
    border-radius: 0;
    box-shadow: none;
}

/* Forms _____________________________________________________________________*/
.form-label {
    font-weight: 700;
}

.form-label small {
    font-weight: 400;
}

.form-label em {
    color: var(--danger);
    margin-left: 0.125rem;
}

.form-control {
    padding: 1rem 1.5rem;
    border: var(--border-wth) solid var(--input-bdr) ;
    border-radius: var(--radius-md);
    color: var(--text);
}

.wpcf7-not-valid-tip {
    color: var(--danger);
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

.wpcf7-not-valid {
    border-color: var(--danger);
}

.wpcf7 form .wpcf7-response-output {
    border-radius: var(--radius-md);
}

/* Events ____________________________________________________________________*/
.tribe-events {
    --tec-grid-gutter-half: 0;
    --tec-border-radius-default: 0.5rem;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-l-container {
    padding-top: 2rem;
    padding-bottom: 0;
}

article.tribe_events:not(.tribe-events-calendar-month__multiday-event) { 
    background: var(--bg-lt);
    margin: 0.5rem !important;
    padding: 0.5rem 0.75rem !important;
    border-radius: var(--radius-sm);
}

.tribe-events .tribe-events-calendar-month__multiday-event-bar-inner {
    margin: 0 0.5rem;
    border-radius: var(--radius-round);
    padding: 0.125rem 0.75rem;
    background-color: var(--green-lt);
}

.tribe-events-calendar-month__multiday-event-bar-title {
    font-weight: 800 !important;
}

.tribe-events .cat_school-closed .tribe-events-calendar-month__multiday-event-bar-inner {
    background-color: var(--orange);
}

/* .tribe-events .tribe-events-calendar-month__multiday-event-bar-title {
    color: var(--neutral);
} */

.tribe-events .tribe-events-calendar-month__day-cell {
    background: var(--white);
    border-radius: var(--radius-sm);
    border: 1px solid var(--border) !important;
    border-bottom-width: 4px !important;
    transition: 0.15s;
}

.tribe-events-calendar-month__day-cell:hover {
    border-color: var(--border-dk) !important;
}

.tribe-events .tribe-events-calendar-month__week {
    margin-right: -0.5rem;
}

.tribe-events-calendar-month__day,
.tribe-events-calendar-month__week,
.tribe-events-calendar-month__body{
    border: none !important;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day:after {
    display: none !important;
}

.tribe-events-calendar-month__day {
    padding: 0 0.5rem 0.5rem 0 !important;
}

.tribe-events .tribe-events-calendar-month__multiday-event--width-2 .tribe-events-calendar-month__multiday-event-bar {
    width: calc(200% + 0.5rem + 0.125rem);
}

.tribe-events .tribe-events-calendar-month__multiday-event--width-3 .tribe-events-calendar-month__multiday-event-bar {
    width: calc(300% + 1rem + 0.25rem);
}

.tribe-events .tribe-events-calendar-month__multiday-event--width-4 .tribe-events-calendar-month__multiday-event-bar {
    width: calc(400% + 1.5rem + 0.375rem);
}

.tribe-events .tribe-events-calendar-month__multiday-event--width-5 .tribe-events-calendar-month__multiday-event-bar {
    width: calc(500% + 2rem + 0.5rem);
}

.tribe-events .tribe-events-calendar-month__multiday-event--width-6 .tribe-events-calendar-month__multiday-event-bar {
    width: calc(600% + 2.5rem + 0.625rem);
}

.tribe-events .tribe-events-calendar-month__multiday-event--width-7 .tribe-events-calendar-month__multiday-event-bar {
    width: calc(700% + 3rem + 0.75rem);
}

.tribe-events-calendar-month__day-date {
    padding: 0.5rem !important;
}

.tribe-events-calendar-month__day-date-daynum {
    background: transparent;
    display: flex;
    width: 2.25rem;
    height: 2.25rem;
    align-items: center;
    justify-content: center;
    border-radius: var(--radius-round);
    font-size: 1.5rem;
}

.tribe-events-calendar-month__day--current .tribe-events-calendar-month__day-date-daynum {
    background: var(--yellow-dk);
}

.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date {
    color: var(--muted);
    opacity: 1;
}

.tribe-events .tribe-events-calendar-month__day--past .tribe-events-calendar-month__day-date .tribe-events-calendar-month__day-date-daynum {
    color: var(--muted);
}

/* Tribe button */
.tribe-common .tribe-common-c-btn-border,
.tribe-common a.tribe-common-c-btn-border {
    border-radius: var(--radius-md);
    padding: 0.75rem 1.5rem;
    font-weight: 900;
    font-size: 1rem;
    border-width: var(--border-wth);
    border-bottom-width: var(--border-btm);
    display: flex;
    align-items: center;
    gap: 0.5rem;
    border-color: var(--dark);
    color: var(--dark);
}

.tribe-common .tribe-common-c-btn-border:hover,
.tribe-common a.tribe-common-c-btn-border:hover {
    background-color: var(--dark-hover) !important;
    color: var(--dark) !important;
}

.tribe-common .tribe-common-c-btn-border-small {
    border-radius: var(--radius-sm) !important;
    padding: 0.5rem 0.75rem !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    font-size: 0.875rem !important;
    border-width: var(--border-wth) !important;
    display: flex !important;
    align-items: center;
    gap: 0.5rem;
    color: var(--dark) !important;
    background-color: transparent !important;
    border-color: var(--border-dk) !important;
}


.tribe-common .tribe-common-c-btn-border-small:hover {
    color: var(--dark) !important;
    background-color: var(--dark-hover) !important;
    border-color: var(--dark) !important;
}

.tribe-common .tribe-common-c-btn-border,
.tribe-common a.tribe-common-c-btn-border {
    font-family: inherit;
}

.tribe-events-c-subscribe-dropdown {
    position: relative;
}

.tribe-events-c-subscribe-dropdown__content {
    position: absolute;
    right: 0;
}

.tribe-events-c-subscribe-dropdown__list {
    border-radius: var(--radius-sm) !important; 
}

.tribe-events .tribe-events-c-top-bar__datepicker-container .dropdown-menu {
    min-width: unset;
    width: auto;
}

.tribe-common-c-btn-border.tribe-events-c-subscribe-dropdown__button {
    width: auto;
    display: inline-block;
    /* float: right; */
}

/* List view */
.tribe-events-calendar-list:has(*),
.tribe-events-calendar-latest-past:has(*) {
    background: var(--white);
    padding: 2rem 2rem !important;
    border: none !important;
    border-radius: var(--radius-lg);
}

button.tribe-events-c-view-selector__button {
    background: var(--white);
    border-radius: var(--radius-round);
}

article.tribe_events:not(.tribe-events-calendar-month__multiday-event) {
    padding: 1.5rem !important;
    margin: 0 !important;
}

.tribe-events .tribe-events-calendar-latest-past__event-datetime-wrapper,
.tribe-events .tribe-events-calendar-list__event-datetime-wrapper,
.tribe-events .tribe-events-calendar-latest-past__event-title {
    margin: 0 !important;
    font-weight: 500;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-latest-past__event-row,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-row {
    margin: 2rem 0;
    gap: 1rem;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-latest-past__event-row:last-child {
    margin: 2rem 0 0;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-latest-past__event-date-tag,
.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-list__event-date-tag {
    min-width: 6rem;
    width: 6rem;
}

.tribe-events-calendar-latest-past__event-date-tag.tribe-common-g-col {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

.tribe-events .tribe-events-calendar-latest-past__event-date-tag-datetime,
.tribe-events .tribe-events-calendar-list__event-date-tag-datetime {
    justify-content: center;
    border: 1px solid var(--border);
    width: 6rem;
    height: 6rem;
    border-radius: 0.5rem;
    flex: none;
}

.tribe-events .tribe-events-calendar-latest-past__event-description,
.tribe-events .tribe-events-calendar-list__event-description {
    margin-top: 0.5rem !important;
}


/* Meals _____________________________________________________________________*/
.menu-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    margin: 2rem 0 1.5rem;
}

.menu-cycle .week {
    margin: 0;
    font-weight: 800;
}

.menu-cycle .dates {
    font-size: 0.875rem;
    font-weight: 400;
}

.af-table {
    background-color: var(--bg-wht);
    padding: 1rem;
    border-radius: var(--radius-lg);
    border: 2px solid var(--border);
    box-shadow: var(--box-shadow-img);
}

.af-table table {
    border-spacing: 1rem;
    border-collapse: separate;
}

.af-table table * {
    vertical-align: top;
}

.af-table th,
.af-table td {
    width: auto;
    padding: 0.5rem 1rem;
    border-radius: var(--radius-md);
}

.af-table th:not(th:empty) {
    background-color: var(--bg-lt);
    color: var(--dark);
}

.af-table tr:nth-child(even) td:not(.day) {
    background-color: var(--grey-10);
}

.af-table .day {
    background-color: var(--express-yl);
    color: var(--dark);
    padding: 1rem;
    font-weight: 700;
    width: 12%;
    min-width: 8rem;
}

.af-table tr:nth-child(2) .day {
    background-color: var(--express-tl);
}
.af-table tr:nth-child(3) .day {
    background-color: var(--express-pk);
}
.af-table tr:nth-child(4) .day {
    background-color: var(--express-pp);
}
.af-table tr:nth-child(5) .day {
    background-color: var(--express-bl);
}


.af-table .main > * {
    display: block;
}

.menu-bottom {
    margin-top: 2rem;
}

.menu-key {
    background-color: var(--bg-wht);
    padding: 0.75rem 1rem;
    border-radius: var(--radius-md);
    font-size: 0.875rem;
    width: 100%;
}

.menu-key span {
    display: block;
    font-weight: 800;
    margin-bottom: 0.25rem;
}

.menu-key ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.125rem 0.5rem;
}