body {
    background: linear-gradient(#fff, #ddd);
    background-position: center;
    background-attachment: fixed;
}

#signal-header {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    justify-content: center;
    padding: 80px 20%;
    filter: drop-shadow(0px 3px 8px #00000075);
}

#signal-header img {
    width:25vw;
    align-self: center;
}

@media (prefers-color-scheme: dark) {
    body {
        background-image: linear-gradient(#181818,#1c1c1c);
        color: white;
    }
}

#cdp-docs {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 5%;
}

#cdp-docs img {
    width: 100%;
    padding: 5%;
    filter: drop-shadow(0px 3px 8px #00000075);
    cursor: pointer;
}

.mulberrysignal {
    display: flex;
    flex-direction: column;
    align-content: center;
    max-width: 80vh;
    max-height: 90vh;
    overflow: hidden;
    margin: 0 auto 40px;
}

.mulberrysignal img {
    width: 100%;
    object-fit: cover;
    max-width: 100%;\
    cursor: pointer;
}

.signalcaptions-wrapper {
    display: flex;
    flex-direction: column;
    margin: 5% 10% -8%;
    width: 80%;
    height: 90vh;
    text-align: center;
    justify-content: center;
}

#signal-swiper {
    padding: 40px 0;
}

.swiper-container {
    width: 100%;
    overflow: hidden;
}

.swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
}

.image-title {
    padding-top: 20px;
}

.signal-flow-container {
    padding: 30px;
    margin: 10%;
    background-color: #fff;
    /* White background */
    border-radius: 20px;
    /* Rounded corners */
    filter: drop-shadow(0px 3px 8px #50505075);
    /* Drop shadow effect */
    box-shadow: 0px 3px 8px rgba(75, 75, 75, 0.5);
    /* Adding a subtle shadow effect for better visibility */
}

.signal-flow-image {
    background-image: url(/images/signal/sf-main_diagram.png);
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    width: 100%;
    padding-bottom: 33.2%;
    /* Aspect ratio    : 0.332 (height/width) */
    align-content: center;
    margin-top: -100;
}

.signal-flow img {
    display: flex;
    align-content: center;
    justify-content: center;
    width: 100%;
    max-width: 100vh;
    margin-top: -100;
}

.sfbreakdown {
    display: flex;
    justify-content: space-evenly;
    /* Distribute items evenly with equal space around */
    align-items: flex-start;
    /* Align items to the top (start of cross-axis) */
    flex-wrap: wrap;
    gap: 20px;
    margin: 0 auto;
    /* Center the container */
    padding: 20px;
}

.sfbreakdown div {
    flex: 1 1 calc(25% - 40px);
    /* Make each item take up 25% width minus the gap */
    text-align: center;
    /* Center-align the text inside each section */
    box-sizing: border-box;
    /* Ensure padding is included in the width calculation */
}

.sfbreakdown img {
    width: 100%;
}

.sfdefinitions h2 {
    padding-top: 10px;
}

.sfdefinitions>span {
    margin: 5px 0 10px 0;
}

.part1list {
    text-align: left !important;
    padding-left: 32px;
}

@media (max-width: 768px) {
    .sfbreakdown div {
        flex: 1 1 calc(50% - 20px);
        /* Two items per row */
    }
}

@media (max-width: 480px) {
    .sfbreakdown div {
        flex: 1 1 100%;
        /* One item per row */
    }
}

.caption-container {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.image-title {
    box-sizing: content-box;
    padding-bottom: 80px;
}

@media (prefers-color-scheme: dark) {
    .signal-flow-container {
        background-color: #222;
        filter: drop-shadow(0px 3px 8px #00000075);
        box-shadow: 0px 3px 8px rgba(75, 75, 75, 0.5);
        /* Adding a subtle shadow effect for better visibility */
    }
