﻿.elul-page {
    background: #EEFAFB;
    padding-top:48px;
    padding-bottom:72px;
    font-family: proxima-nova;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.6;
}
.elul-hero {
    position: relative;
    overflow: hidden;    
}
.elul-hero img {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
}
.page-content .container{
    max-width: 960px;
}
.content-container {
    margin-bottom: 30px;
    font-size: 20px;
    color: #2A5A5F;
}
.content-container {
    padding: 32px;
    position: relative;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid #DBF6F8;
    background: linear-gradient(88deg, #FFF 0.52%, #F1FCFD 29.17%, #B7E4CB 99.83%);
    text-align: center;
    font-size: 18px;
    font-style: italic;
    color: #2A5A5F;
    margin-bottom: 30px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 180px;
}
.content-container::before  {
    content: "";
    position: absolute;
    left: 0;
    bottom: -22px;
    background: rgba(255, 255, 255, 0.1);
    border-radius: 10px;
    z-index: 1;
    height: 168px;
    width: 168px;
    background-image: url('https://res.cloudinary.com/orthodox-union/image/upload/v1756376137/women/Elul/plants_6_1.svg');
    background-position: center;
    background-size: cover;
}
.donate-container {
    border: 1px solid #B6C5FE;
    background: #4A5EA8;
    color: white;
    padding: 32px;
    position: relative;
    border-radius: 10px;
    min-height: 140px;
    margin-bottom: 48px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    gap: 16px;
}
.elul-page a.btn {
    background: #5AB6BE;
    text-transform: capitalize;
    font-size: 14px;
    padding: 10px 16px;
    border-radius: 10px;
    margin-bottom: 0;
    width: 100%;
    color: #fff;
}
.elul-page a.btn:hover {
    background: #4b9ca3;
    color: white;
}
.top-boxes {
    display: flex;
    flex-wrap: wrap;
    gap: 48px;
    justify-content: space-between;
    margin-bottom: 28px;
}
@media screen and (max-width: 768px) {
    .top-boxes {
        flex-direction: column;
        gap: 24px;
    }
}
.donate-container a.btn {
    width: auto;
    min-width: 200px;
    background: white;
    color: #4A5EA8
}
.card {
    min-width: 45%;
    max-width: 460px;
    flex: 1;
    padding: 24px;
    border-radius: 20px;    
    color: #080F16;
    position: relative;
    text-align: left;
    border: 1px solid rgba(0, 0, 0, 0.04);
    background: #D0DFF5;
    font-size: 14px;

}
@media screen and (max-width: 768px) {
    .card {
        max-width: 100%;
    }
}
.elul-page .meta-info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.elul-page .title {
    font-size: 20px;
}
.elul-page .speaker, 
.elul-page .date, 
.elul-page .location {
    display: flex;
    gap: 6px;
    align-items: center;
    min-width: 100%;
    margin: 0;
    max-width: 100%;
}
.icon {
    display: flex;
    width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #f7f7f7;
}
.card .speaker__img {
    height: 270px;
    background-size: cover;
    background-position: center;
    position: relative;
    margin-bottom: 12px;
    width: 100%;
    filter: grayscale(100%);
    border-radius: 20px;
    background-color: white;
}
.card .speaker__img::before {
    content:"";
    position: absolute;
    width: calc(100% + 6px);
    height: calc(100% + 6px);
    background-image:url('https://res.cloudinary.com/orthodox-union/image/upload/v1756376113/women/Elul/Card_Stroke.svg');
    background-position: cover;
    top: -3px;
    left: -3px;
    right: -3px;
    bottom: -3px;
}
.card a.btn {
    width: 100%;
    margin-top: 12px;
}
.section-signup {
    margin-top: 24px;
}
.top-boxes .icon {
    background: rgba(74, 94, 168, 0.10);
}
.card .title-bar {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    align-items: flex-start;
    margin-bottom: 8px;
}
.title-bar .title {
    flex: 1;
}
.type-badge {
    font-size: 11px;
    font-weight: 700;
    color: white;
    text-transform: uppercase;
    border-radius: 555px;
    background: #4A5EA8;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    line-height: 1;
    margin-top: 6px;
}
.in-person-badge {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 3px 20px;
    background-color: #4AA84C;
    color: white;
    text-transform: uppercase;
    font-size: 16px;
    position: absolute;
    top: -16px;
    left: 50%;
    margin-left: -60px;
    border-radius: 555px;
}
.dedication {
    margin-top: 12px;
    font-size: 14px;
    font-style: italic;
    line-height: 20px;
    font-weight: 600;
    text-align: center;
}
.card .more-btn {
    color: #5D2468;
    cursor: pointer;
}
.card.halacha-card {
    background: #b5e2e8;
    text-align: center;
    justify-content: center;
    display: flex;
    flex-direction: column;
    color: #5D2468;
    font-size: 20px;
}
.card .more-btn:hover {
    text-decoration: underline;
}
.halacha-card a.btn {
    background: white;
    color: #5D2468;
}
.halacha-card a.btn:hover {
    background: #efefef;
    color: #5D2468;
}
.halacha-card .thumbnail img{
   width: 100%;
   margin-bottom: 16px;
}
.featured-section {
    background: #b5e2e8;
    border-radius: 20px;
    padding: 48px;
    text-align: left;
    position: relative;
    margin: 48px 0;
}
.featured-section .logo-badge {
    position: absolute;
    width: 100px;
    height: 64px;
    top: 20px;
    right: 20px;
    overflow: hidden;
}
.featured-section .logo-badge img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.featured-section .card {
    background-color: transparent;
    border: none;
    padding: 0;
    max-width: 400px;
}
.featured-section a.btn {
    background:#2F4385;
    color: white;
}
.featured-section a.btn:hover {
    background: #25366d;
}
.featured-section .section-title {
    color: #2F4385;
    font-size: 28px;
    max-width: 90%;
    margin-bottom: 24px;
}
.inner-section.additional-cards {    
    background: white;
    padding: 48px 0;      
    margin: 0 auto;
    border-radius: 200px;
}
.inner-section.cards {
    gap: 48px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;  
}
.inner-section.additional-cards .cards {
    gap: 48px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;      
}
.inner-section.additional-cards .btn {
    color: white;
}
.card.image-card {
    padding: 0;
    overflow: hidden;
}
.card.image-card a {
    display: block;
    height: 100%;
    position: relative;
    overflow: hidden;
}
.card.image-card a img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.additional-cards .speaker__img {
    filter: none
}
.featured-location {
    margin-top: 1rem;
    justify-content: center;
    border-top: 1px solid #a3c8cd;
    padding-top: 1rem;
    display: flex;
    align-items: center;
    gap: .5rem;
}
.elul-page #form {
    max-width: 800px;
    margin: 2rem auto;
    background: white;
    border-radius: 20px;
    padding: 2rem;
}

/* Responsive Video Styles */
.responsive-vid {
    position: relative;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    height: 0;
    overflow: hidden;
    max-width: 100%;
    background: #000;
    margin: 32px 0;
    border-radius: 15px;
    width: 100%;
}

.responsive-vid iframe,
.responsive-vid object,
.responsive-vid embed,
.responsive-vid video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 15px;
}

/* JW Player specific styles */
.responsive-vid .jwplayer {
    position: absolute !important;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
    border-radius: 15px;
    overflow: hidden;
}

/* YouTube specific styles */
.responsive-vid iframe[src*="youtube.com"],
.responsive-vid iframe[src*="youtu.be"] {
    border-radius: 15px;
}

/* Adjust for different aspect ratios if needed */
.responsive-vid.aspect-4x3 {
    padding-bottom: 75%; /* 4:3 aspect ratio */
}

.responsive-vid.aspect-1x1 {
    padding-bottom: 100%; /* 1:1 aspect ratio */
}