.contacts {
    padding: var(--space-10) var(--space-5);
    margin-bottom: var(--space-10);
    background: var(--black);
    color: var(--white);
}

.contacts .contacts-title {
    width: 100%;
    max-width: var(--width-base);
    margin: 0 auto var(--space-8) auto;
    font-size: var(--text-3xl);
    font-weight: var(--font-weight-light);
    text-transform: uppercase;
    letter-spacing: .02rem;
    text-align: center;
}

.contacts .contacts-title strong {
    font-weight: var(--font-weight-black);
}

.contacts .slides {
    width: 100%;
    max-width: 1000px;
    margin: 0 auto;
}

.contacts .slide {
    margin-bottom: var(--space-8);
}

.contacts .slide.has-image .img-cont {
    width: 100%;
    max-width: 170px;
    margin: 0 auto var(--space-4) auto;
}

.contacts .slide .img-cont img {
    width: 100%;
}

.contacts .slide .contact-name {
    margin-bottom: 10px;
    font-size: var(--text-xl);
    font-weight: var(--font-weight-medium);
    line-height: 1.3;
}

.contacts .slide .company-and-title {
    font-size: var(--text-base);
    font-weight: var(--font-weight-medium);
    line-height: var(--leading-normal);
    letter-spacing: .02rem;
}

.contacts .slide .company-and-title span {
    display: block;
}

.contacts .contact-info {
    line-height: var(--leading-normal);
}

.contacts .contact-info .description {
    display: block;
}

.contacts .slide-desc {
    margin-top: var(--space-4);
}

.contacts .slide a {
    color: inherit;
    text-decoration: none;
}

.contacts .slide .email-cont a {
    position: relative;
}

.contacts .slide .email-cont a::before,
.contacts .slide .email-cont a::after {
    display: block;
    position: absolute;
    pointer-events: none;
}

.contacts .slide .email-cont a::before {
    right: 0;
    bottom: 0;
    left: 0;
    height: 1px;
    background: #808080;
    content: '';
}

.contacts .slide .email-cont a::after {
    top: 50%;
    right: 0;
    transform: translate(140%, -50%);
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: var(--redder);
    content: '\f105';
}

@media (min-width: 40em) {
    .contacts .slide {
        display: flex;
    }

    .contacts .slide.slide.has-image .img-cont {
        margin: 0;
        flex-shrink: 0;
    }

    .contacts .slide.has-image .slide-content {
        flex-grow: 1;
        padding-left: var(--space-5);
    }
}

@media (min-width: 64em) {
    .contacts {
        margin-bottom: 100px;
    }

    .contacts .contacts-title {
        margin-bottom: 54px;
        text-align: left;
        font-size: 3.75rem;
    }

    .contacts .slides {
        display: grid;
        grid-template: auto / 1fr 1fr;
        gap: 30px;
    }

    .contacts .slide .contact-name {
        margin-bottom: var(--space-2);
        font-size: 1.375rem;
    }
}

/* Meetings Theme */
.meetings .contacts {
    background-color: #6b818b;
}

/* Groups Theme */
.groups .contacts {
    background-color: #747474;
}

/* Meetings & Groups Theme - Shared */
.meetings .contacts .slide .email-cont a::after,
.groups .contacts .slide .email-cont a::after {
    color: var(--black);
    font-size: 22px;
    padding-left: 3px;
}

@media (max-width: 640px) {
    .meetings .contacts .slide,
    .groups .contacts .slide {
        max-width: 290px;
        margin-left: auto;
        margin-right: auto;
    }
}