.module-publications {
    position: relative;
    padding: 2rem 0 9rem;
    background: #000
}

.container-publications h2 {
    margin: 1rem 0 6rem;
    font-size: var(--font-size-t1);
    line-height: unset
}

.container-publications .intro, .container-publications h2 {
    text-align: center;
    color: #fff
}

.container-publications .content-publications {
    display: flex;
    justify-content: center;
    margin-top: 4rem
}

.container-publications .block {
    display: flex;
    flex-direction: column;
    flex: 0 0 calc(33.33% - 1.4rem);
    margin: 0 .7rem 1.5rem;
    padding: 2rem;
    border-radius: 20px;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
}

.container-publications .block:after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color:#000000b8;
    z-index: 1;
}

.container-publications .block h3 {
    margin: 0 0 1.5rem;
    padding: 0;
    font-size: var(--font-size-t2);
    font-weight: 300;
    line-height: 2.7rem;
    color: #fff;
    position: relative;
    z-index: 3;
}

.container-publications .block .txt, .container-publications .block .txt p {
    font-size: var(--font-size-p);
    color: #fff
}

.container-publications .block .txt {
    position: relative;
    z-index: 3;
    margin: 0 0 2rem
}

.container-publications .block .cta {
    position: relative;
    z-index: 3;
    margin: 0;
    padding: 0
}

.container-publications .block .cta a {
    margin: 0;
    padding: 1rem 3rem;
    font-size: var(--font-size-p);
    color: #fff;
    font-weight: 500;
    background: hsla(0, 0%, 100%, .05);
    border: 1px solid hsla(0, 0%, 100%, .15);
    border-radius: 50px
}

.container-publications .block .cta a:hover {
    background: hsla(0, 0%, 100%, .1)
}

@media (max-width: 1200px) {
    .container-publications .block .block-txt {
        height: 27rem
    }
}

@media (max-width: 1024px) {
    .module-publications {
        padding: 4rem 0
    }

    .container-publications .block {
        max-width: 300px;
        margin-bottom: 3rem
    }
}

@media (max-width: 920px) {
    .container-publications .content-publications {
        flex-flow: row wrap;
        margin-top: 5rem;
        align-content: flex-start
    }

    .container-publications .block {
        flex: 0 0 50%;
        max-width: 300px;
        margin-bottom: 2rem
    }
}

@media (max-width: 720px) {
    .container-publications .block {
        flex: 0 0 45%;
        width: auto;
        max-width: auto
    }
}

@media (max-width: 600px) {
    .container-publications h2 {
        font-size: var(--font-size-t1-mobile)
    }

    .container-publications .block .txt h3 {
        font-size: var(--font-size-t2-mobile)
    }

    .container-publications .block .cta a, .container-publications .block .txt, .container-publications .block .txt2, .container-publications .block .txt2 p, .container-publications .block .txt p {
        font-size: var(--font-size-p-mobile)
    }

    .container-publications .block {
        flex: 0 0 calc(100% - 2rem);
        max-width: unset;
        margin-bottom: 3rem
    }

    .container-publications .block .txt2 {
        min-height: unset
    }

    .container-publications .block .block-txt {
        height: unset;
        min-height: 12rem
    }
}
