.page-template-giving {
    .top {
        position: relative;
        padding-bottom: 54px;

        @media (min-width: 960px) {
            padding-bottom: 108px;
        }

        > .floating-elements {
            z-index: 1;
        }

        .container {
            position: relative;
            z-index: 2;
            img {
                display: block;
                margin: 0 auto 70px;
            }

            h1 {
                text-align: center;
                max-width: 960px;
                margin: 0 auto 70px;
            }

            h2 {
                text-align: center;
                margin: 0 auto 70px;
            }

            .description {
                max-width: 960px;
                margin: 0 auto 81px;
                font-size: 1.75rem;
                color: var(--color-olive);
                line-height: 1.27;
                text-align: center;

                @media (min-width: 960px) {
                    font-size: 2.25rem;
                    margin-bottom: 162px;
                }
            }

            .shot-counter {
                max-width: 960px;
                margin: 0 auto 81px;

                @media (min-width: 960px) {
                    margin-bottom: 162px;
                }

                h2 {
                    padding: 30px 30px 20px;
                    border-bottom: 3px dashed var(--color-cream);
                    margin-bottom: 12px;
                }

                span {
                    font-family: var(--font-courier);
                    font-size: 2.5rem;
                    color: var(--color-red);

                    @media (min-width: 960px) {
                        font-size: 4.5rem;
                    }
                }
            }

            .oversized-body {
                text-transform: uppercase;
                color: var(--color-cream);
                max-width: 1100px;
                margin: auto;
                text-align: center;
            }
        }
    }

    .bottom {
        position: relative;
        background-color: var(--color-richblack);
        padding: 54px 0;

        @media (min-width: 960px) {
            padding: 108px 0;
        }

        > .floating-elements {
            z-index: 1;
        }

        h2 {
            position: relative;
            z-index: 2;
            text-align: center;
            color: var(--color-yellow);
            margin-bottom: 40px;
        }

        .logos {
            position: relative;
            z-index: 2;
            display: flex;
            flex-direction: column;
            gap: 70px;
            width: 100%;
        }

        .row {
            width: 100%;
            --swiper-wrapper-transition-timing-function: linear;

            .swiper-wrapper {
                align-items: center;
            }

            .swiper-slide {
                display: flex;
                align-items: center;
                justify-content: center;

                img {
                    width: 100%;
                    height: auto;
                    aspect-ratio: 1 / 1;
                    object-fit: contain;
                }
            }
        }
    }
}
