/* ============================================
   5. PAGE: HOME (hero, services, partners, video, announcements, donation)
   ============================================ */

.urgentNotice{
    background-color:rgb(177, 25, 25);
    position: relative;;
    width:100%;
    color:white;
    height:fit-content;
    z-index: 1;
}
.urgentNotice div{
    margin:auto;
    max-width: 100ch;
}
.hero{
    display: flex;
    align-items: center;
    justify-content: flex-end;
    align-items: center;
    height:90vh;
    max-height: 950px;
    min-height: 550px;
    width:100%;
    position: relative;
    background-position: center;
    background-size: cover;
    background-color: white;
    overflow-y: hidden;
    
}

.heroText{
    width:30vw;
}
.heroText h1{
    font-size: 42px;
    margin:0rem 3rem;
    line-height: 3rem;
}
.heroText p{
    margin:.5rem 5rem .5rem 3rem;
    padding:0;
    text-align: left;
    color:gray;
}
.heroText a{
    margin:2rem 3rem;
    display:inline-block;
    text-decoration: none;
    padding: .7rem 2.5rem;
    background-color: var(--logoBlue);
    color:white;
    border: 2px solid var(--logoBlue);
    border-radius: 2rem;
    transition:.2s;
}
.heroText a:hover{
    background-color: white;
    color:rgb(8, 106, 176);
}
.heroText a:active{
    background-color: var(--logoBlue);
    color:white;
}

.heroImage{
    background-image: url("../assets/hero2.jpg");
    height:115%;
    width:70vw;
    margin:0; 
    clip-path: ellipse(62% 71% at 63% 52%);
    background-size: cover;
    background-position: center;
    position: relative;


}
.attribution{
    position:absolute;
    right:0;
    bottom:0;
    background-color: white;
    padding: 0 .5rem;
    border-radius: .5rem 0 0 0;
    transform-origin: 100% 100%;

}
.attribution a{
    color:var(--logoCyan);
    text-decoration:none;
}
.services{
    position: relative;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding: 5rem 2rem;
    background: linear-gradient(135deg, var(--logoBlue) 0%, #1e3c72 100%);
    max-width: 1200px;
    margin: 4rem auto;
    border-radius: 3rem;
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.15);
    gap: 2rem;
}
.services a{
    margin: 0;
    text-decoration: none;
    transition: all 0.3s ease;
}

.servicesList{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    height: 18rem;
    width: 18rem;
    background: linear-gradient(145deg, #ffffff 0%, #f8f9fa 100%);
    border-radius: 2.5rem;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.12);
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.2);
}
.servicesList .servicesListText{
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0; 
    color: white;
    padding: 2rem 1.5rem;
    background: linear-gradient(135deg, var(--logoCyan) 0%, #20a39e 100%);
    border-radius: 0 0 2.5rem 2.5rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    font-size: 1.3rem;
    font-weight: 700;
    text-align: center;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    position: relative;
    line-height: 1.2;
    text-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
    min-height: 5rem;
    width: 100%;
    box-shadow: 0 -5px 15px rgba(0, 0, 0, 0.1);
}
.servicesList .learnMore{
    position: absolute;
    top: 1rem;
    left: 50%;
    transform: translateX(-50%);
    transition: .2s;
    color: var(--logoBlue);
    text-decoration: underline;
    opacity: 0;
    font-weight: 600;
    font-size: 0.9rem;
    background: rgba(255, 255, 255, 0.9);
    padding: 0.3rem 0.8rem;
    border-radius: 1rem;
    white-space: nowrap;
}
.servicesListLogo{
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    background: linear-gradient(135deg, var(--logoCyan) 0%, #20a39e 100%);
    color: white;
    border-radius: 50%;
    font-size: 3rem;
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transform: translateY(-1.5rem);
    margin: 2.5rem auto 0;
    width: 9rem;
    height: 9rem;
    position: relative;
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
    border: 3px solid rgba(255, 255, 255, 0.3);
    text-align: center;
    line-height: 9rem;
}

.servicesListLogo::before {
    display: block;
    width: 100%;
    text-align: center;
    position: relative;
    top: 2.6rem;
}

.servicesList:hover .learnMore{
    transform: translateX(-50%);
    opacity: 1;
}

.servicesList:hover {
    transform: translateY(-1rem) scale(1.02);
    box-shadow: 0 25px 50px rgba(0, 0, 0, 0.2);
    border-color: rgba(255, 255, 255, 0.4);
}

.servicesList:hover .servicesListLogo{
    transform: translateY(-1.5rem) scale(1.15);
    cursor: pointer;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.25);
    border-color: rgba(255, 255, 255, 0.5);
}

.servicesList:hover .servicesListText{
    padding: 2.2rem 1.5rem;
    background: linear-gradient(135deg, var(--logoBlue) 0%, #1e3c72 100%);
    text-shadow: 0 4px 8px rgba(0, 0, 0, 0.4);
    transform: scale(1.05);
    box-shadow: 0 -8px 20px rgba(0, 0, 0, 0.15);
}


.partners{
    
    position:relative;
    padding:2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    color:white;
    background-color: var(--logoBlue);
}
.partners h2, .partners p{
    text-align: center;
    max-width: 100ch;
    margin:auto;
    padding:1rem;
    
}
.partners h2{
    font-size: 50px;
}

.partnerImages{
    width:70vw;
    height: var(--partnerHeight);
    margin:2rem auto;
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
    overflow: hidden;
    background-color: white;
    border-radius: 1rem;

}

.partnerImages img{
    height: 6rem;
    margin:2rem 1.5rem;
    display: block;
    padding:1rem;
}

.viewAllPartners{
    position:absolute;
    bottom: 3rem;
    z-index: 1;
    border-radius: 50%;
    outline: none;
    border:none;
    background-color: white;
}

.viewAllPartners i{
    font-size: 2rem;
    transition:.2s;
}

.viewAllPartners i:hover{
    color:goldenrod;
}
.viewAllPartners i:active{
    color:black;
}

/* ----------------- */


/* Video Section Home*/

.videoSection{
    width: 100vw;
    max-width: 60ch;
    margin: 2rem auto;
}

.videoSection video{
    display: block;
    width: 100%;
}

/* ----------------- */


/* Announcements Home */

.announcements{
    padding:2rem;
    margin:auto;
    background-color: white;

    
}
.announcements h2{
    text-align: center;
    margin-bottom: 2rem;
    font-size: 50px;
    padding:1rem;
}
.announcementsList{
    box-shadow: var(--boxShadow);
    border: 2px solid rgb(235, 235, 235);
    border-radius: 1rem;
    background-color: white;
    width:75vw;
    max-width:100ch;
    margin-bottom:2rem;
    position:relative;
}
.viewallAnnouncements{
    position:absolute;
    bottom:-2rem;
    right:1rem;
    text-decoration: none;
    color:var(--logoBlue);
}
.announcementsList .data{

    text-align: left; 
    margin: 0 3rem 1rem 3rem;
    border-left: 2px solid var(--logoBlue);
}
.announcementsList p{
    text-align: left;
}

/* ****************** */

/* Homepage Donation */
.homepage-donation{
    margin: 2rem 0 2rem 0;
}

.homepage-donation h1, .homepage-donation h2{
    text-align: center;
}

.homepage-donation h1{
    font-size: 50px;
}

