@font-face {
    font-family: Woodcroft;
    src: url(/static/fonts/AlumniSansPinstripe-Regular.ttf);
}

@font-face {
    font-family: WoodcroftItalic;
    src: url(/static/fonts/AlumniSansPinstripe-Italic.ttf);
}




/*///////////////////////////////////////////////////////////////////////////////////////////////////// NAVBAR  ////////////////////////////////////////////////////////////////////////////  */

.menu {
    display: flex;
    background-color: rgb(255, 255, 255);
    position: relative;
    align-items: center;
    border-radius: 10px;
    padding: 20px;
    margin: 10px;
    width: 100%;
    height: 50%;
}

.woodcroft-logo {
    display: block;
    margin: 0;
    height: 130px;
    width: auto;
}

.menu .material-symbols-outlined {
    text-decoration: none;
    color: rgb(80, 80, 80);
    font-size: 36pt;
    text-shadow: 2px 2px 5px black;
    position: relative;
    margin-left: 10px;
    z-index: 1001;
    cursor: pointer;
}

.menu #navLinks {
    display: none;
    position: absolute;
    top: calc(100% + 8px);
    right: 5px;
    width: 220px;
    background-color: rgb(255, 255, 255);
    border-radius: 10px;
    z-index: 1000;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    padding: 10px 0;
}

.menu #navLinks a {
  font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
  font-size: 18pt;
  display: block;
  color: grey;
  text-decoration: none;
  margin: 10px;
}

.spacer {
    flex: 1;
}

.user-role {
    display: flex;
    align-items: center;
    gap: 6px;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 600;
    margin-right: 12px;
    padding: 6px 12px;
    border-radius: 999px;
    background-color: rgba(0,0,0,0.06);
}

.user-role.super_admin {
    background-color: rgba(255, 0, 0, 0.15);
}

.user-role.super_admin .role-value {
    color: #c00000;
}

.user-role.admin {
    background-color: rgba(0, 0, 255, 0.15);
}

.user-role.admin .role-value {
    color: #0033cc;
}

.user-role.resident {
    background-color: rgba(0, 128, 0, 0.15);
}

.user-role.resident .role-value {
    color: #0a7a0a;
}

.role-label {
    color: #555;
    font-weight: 500;
}

.role-value {
    font-weight: 700;
}


/*/////////////////////////////////////////////////////////////////////////////////////////////// GLOBAL ///////////////////////////////////////////////////////////////////////////////////////////////*/

.button-panel {
    padding: 5px;
}

.fbtn {
    text-decoration: none;
    border: 2px solid black;
    background-color: grey;
    color: white;
    padding: 5px;
    border-radius: 5px;
}

html, body {
    background-color: rgb(255, 255, 255);
    margin: 0;
    padding: 0;
    width: 100%;
    height: 100%;
}

.page-content { 
    display: grid;
    grid-template-areas: 'nav'
                          'cont';
    grid-template-columns: auto;
    grid-template-rows: 15% 85%;
    height: 100%;
    width: 100%; 
}

.nav-container {
    display: flex;
    grid-area: nav;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.content {
    background-image: url('static/1.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: fill;
    background-attachment: fixed;
    display: flex;
    grid-area: cont;
    height: 100%;
    width: 100%;
}

h1 {
    font-family: Woodcroft;
    font-size: 52pt;
    margin: 0;
    color: white;
    text-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey; 
}

.std-label {
    font-size: 16pt;
}

.std-input {
    margin-top: 5px;
    justify-content: center;
    display:block;
    width:93%;
    padding:10px;
    outline:none;
    border: 1px solid #aaa;
    border-radius: 5px;
}


.std-btn {
    background-color: rgb(180, 180, 180);
    color: rgb(0, 0, 0);
    border-radius: 30px;
    padding: 10px 20px 10px 20px;
    font-family: Woodcroft;
    font-size: 26pt;
    font-weight: 600;
    border: 0;
    text-decoration: none;
    box-shadow: 2px 2px 10px black;

}

.std-btn:hover  {
    background-color: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
    transition: all ease-in-out 300ms;
}

.std-btn2 {
    background-color: rgb(180, 180, 180);
    color: rgb(0, 0, 0);
    border-radius: 30px;
    padding: 10px 20px 10px 20px;
    font-family: Woodcroft;
    font-size: 26pt;
    font-weight: 600;
    border: 0;
    box-shadow: 2px 2px 10px black;
}

.std-btn2:hover  {
    background-color: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
    transition: all ease-in-out 300ms;
}

.std-btn3 {
    background-color: rgb(180, 180, 180);
    color: rgb(0, 0, 0);
    border-radius: 30px;
    padding: 5px 10px 5px 10px;
    font-family: Woodcroft;
    font-size: 14pt;
    font-weight: 600;
    border: 0;
    text-decoration: none;
    box-shadow: 2px 2px 5px black;
}

.std-btn3:hover  {
    background-color: rgb(0, 0, 0);
    color: rgb(255, 255, 255);
    transition: all ease-in-out 300ms;
}

.submit-button {
    font-family: Woodcroft;
    font-weight: 700;
    width: 100%;
    height: 40px;
    border: none;
    outline: none;
    font-size: 16pt;
    background: rgb(180, 180, 180);
    border: 1px solid grey;
    color: black;
    border-radius: 10px;
    cursor: pointer;
}

.submit-button:hover {
    color: white;
    background-color: black;
    transition: all ease-in-out 200ms;
}

/* /////////////////////////////////////////////////////////////////////////////////////////////// INDEX ////////////////////////////////////////////////////////////////////////////  */

.index-text {
    font-family: Woodcroft;
    font-weight: 600;
    color: rgb(255, 255, 255);
    font-size: 72pt;
    text-align: center;
    text-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey; 
    padding: 10px;
    margin: 10px;
}

.index-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
    margin: 10px;
    border-radius: 10px;
}

.top-index {
    display: block;
    flex-direction: column;
    border-radius: 10px;
}

.bottom-index {
    display: grid;
    grid-template-columns: auto auto;
    background-color: rgba(255, 255, 255, 0.9);
    padding: 30px;
    border-radius: 30px;
}

.bottom-index h2 {
    font-family: Woodcroft;
    font-size: 38pt;
}

.bottom-index p {
    font-family: Woodcroft;
    font-size: 24pt;
    font-weight: 600;
}
.mySlides {
    border-radius: 10px;
    padding-right: 20px;
}

/*////////////////////////////////////////////////////////////////////////////////////////////// INDEX PAGE (MOBILE) ///////////////////////////////////////////////////////////////////////////////////////////////*/

@media(max-width: 900px){
    .index-text {
        font-size: 28pt;
    }
    
   
    .bottom-index {
        display: grid;
        grid-template-columns: auto;
        grid-template-areas: 'ssw'
                             'txt'
    }
    
    .index-slideshow {
        grid-area: ssw; 
    }

    .index-text-container {
        grid-area: txt;
    }
    
    .index-text-container p {
        font-size: 18pt;
        font-weight: 500;
    }
    
    .index-text-container h2 {
        font-size: 24pt;
        font-weight: 700;
    }
    
    .mySlides {
        padding: 0;
    }
}

/*/////////////////////////////////////////////////////////////////////////////////////////////// PRE_LOGIN PAGE ///////////////////////////////////////////////////////////////////////////////////////////////*/

.pre-login-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
}

.pre-login-form {
    display: flex;
    font-family: Woodcroft;
    font-weight: 700;
    width: 380px;
    padding: 20px 30px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 10px;
    backdrop-filter: blur(5px);
    box-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey;
    justify-content: center;
}

.pre-login-form .form-element {
    display: flex;
    align-items: center;
    padding: 10px;
}

.pre-login-form .std-btn2 {
    margin: auto;
}

.pre-login-form .std-label {
    font-size: 18pt;
    padding: 10px;
}

/*/////////////////////////////////////////////////////////////////////////////////////////////// PRE_LOGIN PAGE (MOBILE) ///////////////////////////////////////////////////////////////////////////////////////////////*/

@media(max-width: 900px){

    .pre-login-container {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .pre-login-form {
        width: auto;
    }
}


/*/////////////////////////////////////////////////////////////////////////////////////////////// LOGIN PAGE ///////////////////////////////////////////////////////////////////////////////////////////////*/

.login-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
}

.top-login {
    display: block;
    flex-direction: column;
    border-radius: 10px;
}


.bottom-login h2 {
    font-family: Woodcroft;
    font-size: 38pt;
}

.bottom-login p {
    font-family: Woodcroft;
    font-size: 24pt;
    font-weight: 600;
}

.login-form {
    font-family: Woodcroft;
    font-weight: 700;
    width: 380px;
    padding: 20px 30px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 10px;
    backdrop-filter: blur(5px);
    box-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey;
}

.login-form .form-element{
    margin: 15px 15px;
}
 

.forgot-link {
    font-size: 18pt;
    font-weight: 700;
    color: #0033cc;
    text-decoration: none;
}

.forgot-link:hover {
    text-decoration: underline;
}

.error-message {
    color: #ff4d4d;
    margin-top: 10px;
    font-weight: 600;
    font-size: 14pt;
}

/*/////////////////////////////////////////////////////////////////////////////////////////////// LOGIN PAGE (Mobile) ///////////////////////////////////////////////////////////////////////////////////////////////*/


@media(max-width: 900px){ 
    .error-message {
        font-size: 12pt;
    }
    
    .login-container {
    
    }
    
    .login-container .login-form {
        width: 280px;
    }
}


/* HOME /////////////////////////////////////////////////////////////////////////////////////////////////////*/



.home-container {
    padding: 10px;
    margin: 10px;
    border-radius: 10px;
    text-align: center;
    width: 100%;
}

.home-container h1{
    font-family: Woodcroft;
    font-size: 52pt;
    margin: 0;
    color: white;
    text-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey; 
}

.home-grid {
    display: grid;
    grid-template-columns: auto auto auto;
    grid-template-rows: auto auto;
    gap: 50px;
    height: 100%;
    width: 100%;
    margin: auto;
}

@media (max-width: 900px) {
    .home-grid {
        grid-template-columns: auto;
    }
}

.home-grid a{
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: 100px;
    margin: 20px;
}

.home-grid a:hover {
    background-color: black;
    color: white;
    transition: all ease-in-out 200ms;
    box-shadow: 1px -1px 5px grey,
    1px 1px 5px grey,
    -1px -1px 5px grey,  
    -1px 1px 5px grey;
}

.home-grid .home-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 100px;
    width: 100%;
    height: 100%;
    box-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey;
    backdrop-filter: blur(5px);
}

.home-item p {
    font-family: Woodcroft;
    font-size: 36pt;
    font-weight: 600;
    color: black;
}


.home-item .material-symbols-outlined {
    font-size: 72pt;
    color: rgb(180, 180, 180);
    text-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey;
    padding: 30px
}


/* NEWSLETTER /////////////////////////////////////////////////////////////////////////////////////////*/

.newsletter-container {
    display: flex;
    flex-direction: column;
    background-image: url('static/1.jpg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: fill;
    background-attachment: fixed;
    width: 100%;
    height: auto;
    text-align: center;
    align-items: center;
    padding: 10px;
    margin: 10px;
    border-radius: 10px;

}

.newsletter-container h1 {
    font-family: Woodcroft;
    font-size: 42pt;
    color: white;
    text-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey; 

}


.newsletter-item {
    display: flex;
    flex-direction: column;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 10px;
    align-items: center;
    width: 90%;
    padding: 20px;
    margin: 20px;
    height: auto;
    box-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey;
    backdrop-filter: blur(5px);
}

.newsletter-button-panel {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.newsletter-container h2 {
    font-family: Woodcroft;
    font-size: 26pt;
}

.newsletter-container p {
    font-family: Woodcroft;
}

/*.newsletter-container .std-btn {*/
/*    font-family: Woodcroft;*/
/*    color: white;*/
/*    font-size: 14pt;*/
/*    background: rgb(180, 180, 180);*/
/*    padding: 10px;*/
/*    border-radius: 10px;*/
/*    margin: auto;*/
/*    border: 1px solid grey;*/
/*}*/

#delete-btn {
    background: rgb(139, 17, 17);
}

/* NEWSLETTER ADD PAGE ///////////////////////////////////////////////////////////////////////////////////////////////*/

.news_add-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
    margin: 10px;
    border-radius: 10px;
}

.top-news_add {
    display: block;
    flex-direction: column;
    border-radius: 10px;
}

.bottom-news_add {
    background-color: rgba(255, 255, 255, 0.9);
}

.bottom-news_add h2 {
    font-family: Woodcroft;
    font-size: 38pt;
}

.bottom-news_add p {
    font-family: Woodcroft;
    font-size: 24pt;
    font-weight: 600;
}

.news_add-form {
    font-family: Woodcroft;
    font-weight: 700;
    width: 380px;
    padding: 20px 30px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 10px;
    backdrop-filter: blur(5px);
    box-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey;
}

.news_add-form .form-element{
    margin: 15px 15px;
}
 
.news_add-form .form-element label{
    font-size: 20px;
    font-weight: 600;
    color: #222;
}
.news_add-form .form-element input{
    font-family: Woodcroft;
    font-size: 20px;
    font-weight: 600;
    color: #222;
}
 
.news_add-form .form-element textarea {
    font-family: Woodcroft;
    font-size: 20px;
    font-weight: 600;
    color: #222;
    margin-top: 5px;
    display: block;
    width: 93%;
    height: 150px;
    padding: 10px;
    border: 1px solid #aaa;
    border-radius: 5px;
    outline: none;
    resize: none;
}
 
.news_add-form .form-element input[type="title"]{
    margin-top: 5px;
    justify-content: center;
    display:block;
    width:93%;
    padding:10px;
    outline:none;
    border: 1px solid #aaa;
    border-radius: 5px;
}
 
.news_add .form-element button {
    width: 100%;
    height: 40px;
    border: none;
    outline: none;
    font-size: 16px;
    background: rgb(180, 180, 180);
    border: 1px solid grey;
    color: black;
    border-radius: 10px;
    cursor: pointer;
}

.news_add-form .form-element button:hover {
    color: rgb(255, 255, 255);
    background-color: rgb(0, 0, 0);
    transition: all ease-in-out 300ms;
}

@media(max-width: 900px) {
    .news_add-form {
        padding: 10px;
    }
}

.error-message {
    color: #ff4d4d;
    margin-top: 10px;
    font-weight: 600;
}





/* RESOURCES  /////////////////////////////////////////////////////////////////////////////////////////*/

.resources-container {
    display: flex;
    flex-direction: column;
    /* background-image: url("static/2.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: fill;
    background-attachment: fixed; */
    width: 100%;
    height: 100%;
    border-radius: 10px;
    padding: 10px;
    margin: 10px;
    text-align: center;
}

.resources-grid {
    display: grid;
    grid-template-columns: auto auto auto auto;
    height: 100%;
    width: 100%;
    justify-content: center;
    gap: 60px;
    padding: 20px;
}

.resources-grid .resource-item {
    display: grid;
    grid-template-areas: 'img title'
                        'img supp'
                    'desc desc';
    background-color: rgba(255, 255, 255, 0.9);
    grid-template-rows: 25% 25% 50%;
    border-radius: 30px;
    height: 400px;
    width: 400px;
    padding: 50px;
    gap: 20px;
}

.resource-item p {
    padding: 0;
    margin: 0;
    font-family: 'Gill Sans', 'Gill Sans MT', Calibri, 'Trebuchet MS', sans-serif;
}

.resources-container h1 {
    text-align: center;
}

.res-image {
    display: flex;
    margin: auto;
    grid-area: img;
    padding: 10px;
   
}

.res-image img {
    width: 200px;
    height: auto;
    border-radius: 10px;

}

.res-label {
    background-color: rgb(180, 180, 180);
    border-radius: 30px;
    color: white;
    text-align: center;
}

.res-title {
    grid-area: title;
    display: flex;
    flex-direction: column;
    margin: 0;
}

.res-supplier {
    grid-area: supp;
    display: flex;
    flex-direction: column;
}

.res-supplier .res-label, .res-title .res-label {
    padding: 5px;
}

.res-desc {
    grid-area: desc;
    display: flex;
    flex-direction: column;
    padding: 5px;
}

.res-desc .res-label {
    padding: 5px;
}


/* NOTICEBOARD /////////////////////////////////////////////////////////////////////////////////////*/


.noticeboard-container {
     display: flex;
    flex-direction: column; 
    /* background-image: url("/static/2.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: fill;
    background-attachment: fixed; */ 
    border-radius: 10px;
    margin: 10px;
    width: 100%;
}

.noticeboard-container h1 {
    text-align: center;
}

.noticeboard {
    display: grid;
    grid-template-columns: auto auto;
}
.noticeboard-container .notice {
    background-color: white;

}

.noticeboard-split {
    display: flex;
    justify-content: space-between;
    gap: 30px;
    margin-top: 20px;
}

.noticeboard-section {
    display: flex;
    flex-direction: column;
    align-items: center;   /* centers button + heading horizontally */
}

.noticeboard-section h2 {
    text-align: center;
    font-family: Woodcroft;
    font-size: 24pt;
    color: white;
    text-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey; 
}

.noticeboard-section h3 {
    text-align: center;
    font-family: Woodcroft;
    font-size: 20pt;
    color: black;
}


/* Left column (Minutes) */
.noticeboard-section.minutes {
    flex: 0 0 40%;
}

/* Right column (Posts) */
.noticeboard-section.posts {
    flex: 0 0 55%;
}

/* Make sure items stay inside their columns */
.noticeboard-item {
    width: 100%;
}

.noticeboard-item {
    display: flex;
    flex-direction: column;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 10px;
    align-items: center;
    width: 90%;
    padding: 20px;
    margin: 20px;
    height: auto;
    box-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey;
    backdrop-filter: blur(5px);
}

.noticeboard-button-panel {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}

.noticeboard-container h2 {
    font-family: Woodcroft;
    font-size: 26pt;
}

.noticeboard-container p {
    font-family: Woodcroft;
}


#delete-btn {
    background: rgb(139, 17, 17);
}

/* NOTICEBOARD ADD PAGE ///////////////////////////////////////////////////////////////////////////////////////////////*/

.notice_add-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
    margin: 10px;
    border-radius: 10px;
}

.top-notice_add {
    display: block;
    flex-direction: column;
    border-radius: 10px;
}

.bottom-notice_add {
    background-color: rgba(255, 255, 255, 0.9);
}

.bottom-notice_add h2 {
    font-family: Woodcroft;
    font-size: 38pt;
}

.bottom-notice_add p {
    font-family: Woodcroft;
    font-size: 24pt;
    font-weight: 600;
}

.notice_add-form {
    font-family: Woodcroft;
    font-weight: 700;
    width: 380px;
    padding: 20px 30px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 10px;
    backdrop-filter: blur(5px);
    box-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey;
}

.notice_add-form .form-element{
    margin: 15px 15px;
}
 
.notice_add-form .form-element label{
    font-size: 20px;
    font-weight: 600;
    color: #222;
}
.notice_add-form .form-element input{
    font-family: Woodcroft;
    font-size: 20px;
    font-weight: 600;
    color: #222;
}
 
.notice_add-form .form-element textarea {
    font-family: Woodcroft;
    font-size: 20px;
    font-weight: 600;
    color: #222;
    margin-top: 5px;
    display: block;
    width: 93%;
    height: 150px;
    padding: 10px;
    border: 1px solid #aaa;
    border-radius: 5px;
    outline: none;
    resize: none;
}
 
.notice_add-form .form-element input[type="title"]{
    margin-top: 5px;
    justify-content: center;
    display:block;
    width:93%;
    padding:10px;
    outline:none;
    border: 1px solid #aaa;
    border-radius: 5px;
}
 
.notice_add .form-element button {
    width: 100%;
    height: 40px;
    border: none;
    outline: none;
    font-size: 16px;
    background: rgb(180, 180, 180);
    border: 1px solid grey;
    color: black;
    border-radius: 10px;
    cursor: pointer;
}

.notice_add-form .form-element button:hover {
    color: rgb(255, 255, 255);
    background-color: rgb(0, 0, 0);
    transition: all ease-in-out 300ms;
}

@media(max-width: 900px) {
    .notice_add-form {
        padding: 10px;
    }
}

.error-message {
    color: #ff4d4d;
    margin-top: 10px;
    font-weight: 600;
}


/* FORUM PAGE ////////////////////////////////////////////////////////////////////////////////////////////////////////////*/


.forum-container {
    width: 90%;            /* main width in % */
    max-width: 1200px;     
    margin: 40px auto 0;
    padding: 20px 40px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    border-radius: 10px;
}

.forum-container h1 {
    text-align: center;
}

/* Forum List */
.forum-list {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

/* Each Post Item */
.forum-item {
    width: 100%;
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
    overflow: visible;
    border: 1px solid #e5e5e5;
}

/* Header Button */
.forum-header {
    
    width: 100%;
    background: #f7f7f7;
    border: none;
    border-radius: 8px 8px 0 0;
    font-size: 1.1rem;
    font-weight: 600;
    text-align: left;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background 0.2s ease;
    z-index: auto;
    position: relative;
}

.forum-header:hover {
    background: #ececec;
}

/* Arrow Icon */
.arrow {
    transition: transform 0.3s ease;
}

.forum-header .arrow {
    color: black; /* or whatever your text color is */
    font-size: 1.2rem;
    margin-left: 10px;
    display: inline-block;
}


.forum-header.active .arrow {
    transform: rotate(180deg);
}

.forum-header span:first-child {
    padding: 12px 0 12px 12px;
    font-family: Woodcroft;
    font-size: 1.6rem;   /* adjust to taste */
    font-weight: 700;    /* optional but looks good with Woodcroft */
}


/* Comments Section */
.forum-comments {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s ease;
    background: #fafafa;
    padding: 0;
}

.forum-comments-inner {
    width: 100%;   
    background: #f5f5f5;
    padding: 15px;
    border: none; 
    box-sizing: border-box;
    margin-bottom: 20px;
}

/* Individual Comment */
.forum-comments p {
    padding: 12px 0;
    border-bottom: 1px solid #e0e0e0;
    margin: 0;
    font-size: 0.95rem;
}

.forum-comments p:last-child {
    border-bottom: none;
}

.top-forum {
    margin-bottom: 25px;
}

.bottom-forum{
    width: 100%;
}

.delete-post-form {
    display: inline-block;
    margin: 0;
}


/* FORUM ADD PAGE ////////////////////////////////////////////////////////////////////////////////////////////////////////*/

.forum_add-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    align-items: center;
    justify-content: center;
    margin: 10px;
    border-radius: 10px;
}

.top-forum_add {
    display: block;
    flex-direction: column;
    border-radius: 10px;
}

.bottom-forum_add {
    background-color: rgba(255, 255, 255, 0.9);
}

.bottom-forum_add h2 {
    font-family: Woodcroft;
    font-size: 38pt;
}

.bottom-forum_add p {
    font-family: Woodcroft;
    font-size: 24pt;
    font-weight: 600;
}

.forum_add-form {
    font-family: Woodcroft;
    font-weight: 700;
    width: 380px;
    padding: 20px 30px;
    background: rgba(255, 255, 255, 0.5);
    border-radius: 10px;
    backdrop-filter: blur(5px);
    box-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey;
}

.forum_add-form .form-element{
    margin: 15px 15px;
}
 
.forum_add-form .form-element label{
    font-size: 20px;
    font-weight: 600;
    color: #222;
}
.forum_add-form .form-element input{
    font-family: Woodcroft;
    font-size: 20px;
    font-weight: 600;
    color: #222;
}
 
.forum_add-form .form-element textarea {
    font-family: Woodcroft;
    font-size: 20px;
    font-weight: 600;
    color: #222;
    margin-top: 5px;
    display: block;
    width: 93%;
    height: 150px;
    padding: 10px;
    border: 1px solid #aaa;
    border-radius: 5px;
    outline: none;
    resize: none;
}
 
.forum_add-form .form-element input[type="title"]{
    margin-top: 5px;
    justify-content: center;
    display:block;
    width:93%;
    padding:10px;
    outline:none;
    border: 1px solid #aaa;
    border-radius: 5px;
}
 
.forum_add .form-element button {
    width: 100%;
    height: 40px;
    border: none;
    outline: none;
    font-size: 16px;
    background: rgb(180, 180, 180);
    border: 1px solid grey;
    color: black;
    border-radius: 10px;
    cursor: pointer;
}

.forum_add-form .form-element button:hover {
    color: rgb(255, 255, 255);
    background-color: rgb(0, 0, 0);
    transition: all ease-in-out 300ms;
}

@media(max-width: 900px) {
    .forum_add-form {
        padding: 10px;
    }
}

.error-message {
    color: #ff4d4d;
    margin-top: 10px;
    font-weight: 600;
}

/* COMMENT SECTION ON FORUM PAGE ////////////////////////////////////////////////////////////////////////////////////////*/
.comment-form {
    margin-top: 10px;
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.comment-form textarea {
    flex: 1;
    width: 100;
    min-height: 80px;
    resize: none;
    padding: 8px;
    font-size: 1rem;
    margin-bottom: 12px;
}
.comment-block {
    padding-left: 25px;     
    margin-top: 15px;
    background: #ffffff;
    border-left: 4px solid #4a90e2;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-right: 15px;
    border-radius: 4px;
    box-sizing: border-box;  /* ← prevents overflow */
}

.comment-actions {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap; /* prevents overlap */
}


.comment-actions form {
    display: inline-block;
    margin: 0;
    padding: 0;
}

/* Apply Alumni Sans Pinstripe only to forum text */
.forum-container p,
.forum-container .post-content,
.forum-container .post-author,
.forum-container .comment-author,
.forum-container .comment-content,
.forum-container textarea {
    font-family: Woodcroft !important;
    color: #000;
    font-size: 1.2rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    line-height: 1.5;
}



/* /////////// */
/* /////////// */
/* ADMIN PAGES */
/* /////////// */
/* /////////// */

/* ADMIN_RES */

.resident-table-container {
    margin: auto;
}


.res_table {
    font-family: Woodcroft;
    font-weight: 700;
    width: 100%;
    border-collapse: collapse;
    margin-top: 20px;
    font-size: 15px;
    background: #fff;
    border-radius: 20px;
}

.res_table th {
    font-size: 18pt;
    background: #2c3e50;
    color: white;
    padding: 10px;
    text-align: left;
}

.res_table td {
    font-size: 14pt;
    padding: 10px;
    border-bottom: 1px solid #ddd;
    justify-content: center;
    align-items: center;
}

.res_table td a {
    display: flex;
    font-size: 14pt;
    text-decoration: none;
    color: rgb(0,0,0);
    align-self: center;
}

.res_table tr:nth-child(even) {
    background: #f4f4f4;
}

.res_table tr:hover {
    background: #e8f0fe;
}

/* ADMIN_ADD_RES */

.add-res-container { 
   width: 100%;
}

.add-res-form {
    display: grid;
    grid-template-areas: 'title title'
                         'lt rt';
    grid-template-columns: max-content max-content;
    gap: 20px;
    justify-content: center;
}

.add-res-title {
    grid-area: title;
    padding: 0;
    margin: 0;
    text-align: center;
}

.add-res-container h2 {
    font-family: Woodcroft;
    font-size: 42pt;
    color: white;
    text-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey; 

}

.add-res-form .add-res-left {
    grid-area: lt;
    display: flex;
    flex-direction: column;
    padding: 10px;
    margin: 10px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    align-items: flex-end;
    gap: 10px;
}

.add-res-form .add-res-left > *:first-child {
    align-items: flex-end;
}

.add-res-form .add-res-right {
    grid-area: rt;
    display: flex;
    flex-direction: column;
    padding: 10px;
    margin: 10px;
    background-color: rgba(255, 255, 255, 0.8);
    border-radius: 20px;
    align-items: flex-start;
}

.add-res-right h2, .add-res-left h2 {
    font-family: Woodcroft;
    font-size: 28pt;
    color: white;
    text-shadow: 1px -1px 1px grey,
    1px 1px 1px grey,
    -1px -1px 1px grey,  
    -1px 1px 1px grey; 
    margin: 0;
    align-self: flex-start;
}

.add-res-left label {
    font-family: Woodcroft;
    font-weight: 700;
    font-size: 14pt;
}

.add-res-left input,
.add-res-left select {

}


.add-res-left .add-res-btn-panel {
    display: flex;
    gap: 10px;
    padding-top: 20px;
    align-items: flex-end;
}

.add-res-right .select-parking{
    display: grid;
    grid-template-columns: auto auto auto auto auto auto auto auto auto auto;
    column-gap: 10px;
}

.add-res-right .select-parking .check {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.add-res-right .select-parking .check label {
    font-family: Woodcroft;
    font-weight: 700;
}

.add-res-right .select-parking .check input {
    width: 20px;
    height: 20px;
    border-radius: 10px;
}

