.related-content { 
    position: relative; 
    max-width: 1200px;
    padding: 0 20px;
    margin: 0 auto 30px;
}

.related-content .slides:not(.glide__slides) { 
    display: grid; 
    gap: 20px; 
    grid-template-columns: 1fr 
}

.related-content .slide { position: relative; }

.related-content .slide .img-cont {
    position: relative; 
    overflow: hidden; 
}

.related-content .slide .img-cont img { 
    display: block; 
    width: 100%; 
}

.related-content .slide .content-section { padding-top: 20px; }

.related-content .slide .content-section > *:last-child { margin-bottom: 0; }

/* slider */
.related-content .slides-wrapper {
    position: relative;
}

.related-content .slides-wrapper .glide__slides {
    white-space: inherit;
}

.related-content .glide__arrows { 
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transform: translateY(-50%);
    display: flex;
    justify-content: space-between;
    align-items: center;
    z-index: 1;
    pointer-events: none;
}

.related-content .glide__arrows .glide__arrow {
    position: relative;
    width: var(--space-10);
    height: var(--space-10);
    flex-shrink: 0;
    padding: 0;
    margin: var(--space-3);
    background: var(--white);
    border-radius: var(--rounded-circle);
    box-shadow: 0 3px 6px rgba(0,0,0,0.16), 0 3px 6px rgba(0,0,0,0.23);
    font-size: var(--text-xl);
    color: var(--arrow-color);
    cursor: pointer;
    pointer-events: all;
}

.related-content .glide__arrows .glide__arrow i {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    line-height: var(--leading-none);
}

@media (min-width: 40em){
    .related-content { 
        margin: 0 auto 50px;
    }

    .related-content .slides.custom-columns-2:not(.glide__slides) { grid-template-columns: 1fr 1fr }
    .related-content .slides.custom-columns-3:not(.glide__slides) { grid-template-columns: 1fr 1fr 1fr }
    .related-content .slides.custom-columns-4:not(.glide__slides) { grid-template-columns: 1fr 1fr 1fr 1fr}

    .related-content .slides .slide { 
        display: grid; 
        gap: 20px; 
        grid-template-columns: 100%;
    }

    .related-content .slides.image-width-6 .slide { grid-template-columns: 50% 50% }
    .related-content .slides.image-width-4 .slide { grid-template-columns: 33.33% 66.66% }
    .related-content .slides.image-width-3 .slide { grid-template-columns: 25% 75% }

    .related-content .slides .slide .content-section { padding: 0; }

    /* slider */
    .related-content .glide__slides.image-width-6 .slide .content-section,
    .related-content .glide__slides.image-width-4 .slide .content-section,
    .related-content .glide__slides.image-width-3 .slide .content-section { padding-right: 84px;} /* so next arrow doesn't overlap content */
}