/* General stuff */
.meinechurch-error {
    color: red !important;
}

/* contentspacer */
.contentspacer-small {
    height: 30px;
}

.contentspacer-medium {
    height: 60px;
}

.contentspacer-large {
    height: 90px;
}

@media screen and (max-width: 780px) {
    .contentspacer-small {
        height: 15px;
    }

    .contentspacer-medium {
        height: 30px;
    }

    .contentspacer-large {
        height: 45px;
    }
}



.widget-title {
    text-transform: uppercase;
    font-weight: 600;
}




/* serviceschedule Serienbild */
.frontpage-services-date h3,
.livestream-services-date h3 {
    text-transform: uppercase;
    font-weight: 600;
    margin-bottom: 5px;
}

.frontpage-series-title {
    font-weight: 600;
    font-size: 25px;
    padding: 0 20px;
    text-transform: uppercase;
    line-height: 1.2em;
    letter-spacing: normal;
    display: block;
}

.frontpage-series-description {
    font-weight: normal;
    font-size: 20px;
    padding: 0 40px;
    text-transform: none;
    line-height: 1.2em;
    letter-spacing: normal;
    max-height: 75%;
    overflow: hidden;
}

.frontpage-series-button a {
    font-weight: normal;
    font-size: 20px;
    padding: 5px 20px;
    margin-top: 10px;
    text-transform: none;
    line-height: 1.2em;
    background: #34e5b5;
    color: #fff;
    display: inline-block;
}

.frontpage-series-button a:hover {
    text-decoration: none;
}

.frontpage-services-title,
.livestream-service-title {
    font-weight: 600;
    line-height: 1.3em;
    color: #777777;
}

.frontpage-services-title-subtitle,
.livestream-service-title-subtitle {
    font-weight: normal;
}

.frontpage-services-title-sermontitle,
.livestream-service-title-sermontitle {
    color: #34e5b5;
}

.frontpage-services-starttime,
.livestream-service-starttime {
    color: #777777;
    font-weight: normal;
    line-height: 1.3em;
}

.frontpage-services-icons {
    color: #000;
    font-size: 14px;
    line-height: 14px;
}

.frontpage-services-icons span {
    margin-left: 5px;
}







.frontpage-events-date {
    font-weight: 600;
    font-size: 18px;
    padding: 0 20px;
    text-transform: uppercase;
    line-height: 1.2em;
    letter-spacing: normal;
}

.frontpage-events-title,
.frontpage-events-title a,
.frontpage-events-title a:visited,
.frontpage-events-title a:hover {
    font-weight: 600;
    font-size: 25px;
    padding: 0 20px;
    text-transform: uppercase;
    line-height: 1.2em;
    letter-spacing: normal;
    color: inherit;
}

.frontpage-events-title a:hover {
    text-decoration: none;
}

.frontpage-events-subtitle {
    font-weight: normal;
    font-size: 18px;
    padding: 0 20px;
    text-transform: uppercase;
    line-height: 1.2em;
    letter-spacing: normal;
    max-height: 60%;
    overflow: hidden;
}

.frontpage-events-button a {
    font-weight: normal;
    font-size: 20px;
    padding: 5px 20px;
    margin-top: 10px;
    text-transform: none;
    line-height: 1.2em;
    background: #34e5b5;
    color: #fff;
    display: inline-block;
}

.frontpage-events-button a:hover {
    text-decoration: none;
}







.agenda-month {
    color: #34e5b5;
    font-weight: 600;
    margin-top: 10px;
    margin-bottom: 30px;
    text-align: center;
    font-size: 26px;
    text-transform: uppercase;
}

.agenda-title {
    font-weight: 600;
    color: #34e5b5;
}

.agenda-link a {
    font-weight: normal;
    font-size: 15px;
    padding: 5px 20px;
    margin-top: 10px;
    text-transform: none;
    line-height: 1.2em;
    background: #34e5b5;
    color: #fff;
    display: inline-block;
}

.agenda-link a:hover {
    text-decoration: none;
}




.servicelist-services-type h3 {
    font-size: 26px;
    line-height: 30px;
    color: #404040;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
}

.servicelist-services-date h4 {
    font-size: 20px;
    line-height: 24px;
    color: #404040;
    font-weight: 600;
    text-transform: uppercase;
    text-align: center;
}

.servicelist-services-title {
    font-weight: 600;
    margin-bottom: 10px;
    font-size: 22px;
    line-height: 26px;
}

.servicelist-services-title .servicelist-services-title-sermontitle {
    color: #34e5b5;
}

.servicelist-services-icons {
    color: #000;
    font-size: 14px;
    line-height: 14px;
}

.servicelist-services-icons span {
    margin-left: 5px;
}


.seriesarchiveButton {
    display: inline-block;
    border: 1px solid #555;
    color: #555;
    padding: 0 20px;
    cursor: pointer;
    margin: 0 20px 20px 0;
}

.seriesarchiveButton:hover,
.seriesarchiveButtonAktiv {
    border: 1px solid #000;
    color: #000;
}

#seriesarchiveDatum {
    display: none;
}

.seriesarchive {}

.seriesarchive ul {
    padding-bottom: 15px;
}

.seriesarchive li .uk-card {
    margin: 15px;
    transition: all 0.5s ease-out;
}

.seriesarchive li .uk-card {
    box-shadow: 0 0 15px rgba(0, 0, 0, .4);
}

.seriesarchive li .uk-card:hover {
    box-shadow: 0 0 15px rgba(0, 0, 0, 1);
}

.seriesarchive h3 {
    margin: 0;
    font-size: 18px;
    line-height: 22px;
}

.seriesarchive .uk-card-footer {
    padding: 10px;
    border-top: 0;
}

.seriesarchive .uk-card-footer a:hover {
    text-decoration: none;
}



.meinechurchLivestream {
    z-index: 99999;
    position: fixed;
    top: 15vh;
    right: 20px;
    width: auto;
    height: auto;
    background-color: rgba(0, 0, 0, 0.7);
    border-radius: 5px;
    padding: 10px;
    color: #fff;
    text-align: center;
}

.meinechurchLivestream ul {
    list-style-type: none;
    padding: 0 10px;
}

.meinechurchLivestream a {
    color: #fff;
}

.meinechurchLivestream p {
    margin: none;
}

@media screen and (max-width: 1200px) {
    .meinechurchLivestream {
        top: 25px;
    }
}

@media screen and (max-width: 480px) {
    .meinechurchLivestream {
        right: 80px;
        font-size: 70%;
        line-height: 80%;
    }
}

@media screen and (min-width: 481px) and (max-width: 640px) {
    .meinechurchLivestream {
        right: 100px;
        font-size: 70%;
        line-height: 80%;
    }
}

@media screen and (min-width: 641px) and (max-width: 1200px) {
    .meinechurchLivestream {
        right: 120px;
        font-size: 80%;
        line-height: 95%;
    }
}





/* Infobox */
.meinechurchInfobox {
    position: fixed;
    top: 15vh;
    left: 20px;
    width: 35%;
    max-width: 900px;
    background-color: #000;
    border-radius: 5px;
    color: #fff;
    text-align: left;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 20px 45px 20px 20px;
    line-height: 140%;
    opacity: 0.9;
    z-index: 9999;
}

.meinechurchInfobox a,
.meinechurchInfobox a:hover,
.meinechurchInfobox a:visited {
    color: inherit !important;
}

.meinechurchInfobox ul {
    list-style-type: none;
    padding: 0 10px;
    margin: 0;
}

.meinechurchInfobox p {
    margin: 0;
}

.meinechurchInfoboxIcon {
    min-width: 24px;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.meinechurchInfoboxContent {
    flex: 1;
    min-width: 0;
}

.meinechurchInfoboxImage {
    flex-shrink: 0;
}

.meinechurchInfoboxImage img {
    display: block;
    max-width: 150px;
    height: auto;
    border-radius: 3px;
}

/* Close Button */
.meinechurchInfoboxClose {
    position: absolute;
    top: 8px;
    right: 8px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.meinechurchInfoboxClose:hover {
    opacity: 1;
}

.meinechurchInfoboxClose svg {
    width: 18px;
    height: 18px;
    display: block;
}

/* Responsive */
@media screen and (max-width: 1200px) {
    .meinechurchInfobox {
        top: 155px;
        left: 50%;
        transform: translateX(-50%);
        width: 90%;
    }
}

@media screen and (max-width: 640px) {
    .meinechurchInfobox {
        font-size: 85%;
        line-height: 130%;
        padding: 15px 40px 15px 15px;
    }

    .meinechurchInfoboxIcon {
        min-width: 20px;
        width: 20px;
        height: 20px;
    }

    .meinechurchInfoboxImage img {
        max-width: 80px;
    }
}





/* Alertbox */
.meinechurchAlertboxOverlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 99999;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 15vh;
}

/* Alertbox */
.meinechurchAlertbox {
    position: relative;
    width: 60%;
    max-width: 800px;
    background-color: #000;
    border-radius: 5px;
    color: #fff;
    text-align: left;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 20px 50px 20px 20px;
    line-height: 140%;
}

.meinechurchAlertbox a,
.meinechurchAlertbox a:hover,
.meinechurchAlertbox a:visited {
    color: inherit !important;
}

.meinechurchAlertbox ul {
    list-style-type: none;
    padding: 0 10px;
    margin: 0;
}

.meinechurchAlertbox p {
    margin: 0;
}

.meinechurchAlertboxIcon {
    min-width: 24px;
    width: 24px;
    height: 24px;
    flex-shrink: 0;
}

.meinechurchAlertboxContent {
    flex: 1;
}

.meinechurchAlertboxImage {
    flex-shrink: 0;
}
.meinechurchAlertboxImage img {
    display: block;
    max-width: 150px;
    height: auto;
    border-radius: 3px;
}

/* Close Button */
.meinechurchAlertboxClose {
    position: absolute;
    top: 10px;
    right: 10px;
    background: none;
    border: none;
    cursor: pointer;
    padding: 5px;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.meinechurchAlertboxClose:hover {
    opacity: 1;
}

.meinechurchAlertboxClose svg {
    width: 20px;
    height: 20px;
}

/* Responsive */
@media screen and (max-width: 1200px) {
    .meinechurchAlertbox {
        width: 70%;
    }
}

@media screen and (max-width: 640px) {
    .meinechurchAlertbox {
        font-size: 85%;
        line-height: 130%;
        padding: 15px 40px 15px 15px;
    }
    
    .meinechurchAlertboxIcon {
        min-width: 20px;
        width: 20px;
        height: 20px;
    }

    .meinechurchAlertboxImage img {
        max-width: 80px;
    }
}





/* Nachricht wenn kein Stream läuft */
.meinechurch-no-stream-message {
    text-align: center;
    padding: 20px;
    font-size: 2.5rem;
    font-weight: bold;
    margin: 4rem 0 5rem 0;
    color: #333;
    line-height: 1.3;
    text-transform: uppercase;
}

/* Header im Next Service Container */
.meinechurch-next-service-header h3 {
    font-size: 2rem;
    font-weight: 700;
    text-align: center;
    text-transform: uppercase;
    color: #222;
}

/* Bild im Next Service Container */
.meinechurch-next-service-image img {
    max-width: 300px;
    height: auto;
    border-radius: 8px;
}


/* Fehlermeldung */
.meinechurch-error {
    text-align: center;
    padding: 20px;
    color: #d9534f;
    font-weight: 600;
}
