.modulo-item-listagem a.card-link:before {
    content: '';
    width: auto;
    height: 100%;
    display: block;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    z-index: 1;
}

/* ----- */
.line-clamp {
    display: -webkit-box;
    -webkit-line-clamp: var(--vnumlines);
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* ----- */
.card, .card-img, .card-header, .card-body, .card-footer {
    background-color: transparent;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
}

/* ----- */
.o-que-fazemos .row-items-listagem {
    --rsize: -0.75rem;
    margin-left: var(--rsize);
    margin-right: var(--rsize);
    margin-bottom: calc((var(--rsize) * -1) * 2);
}

.o-que-fazemos .row-items-listagem > [class^=col] {
    --csize: calc(var(--rsize) * -1);
    margin-bottom: calc(var(--csize) * 2);
    padding-left: var(--csize);
    padding-right: var(--csize);
}

@media (min-width: 769px) {
    .o-que-fazemos .card-items-listagem {
        background-color: var(--itemCor);
        overflow: hidden;
    }
    .o-que-fazemos .card-items-listagem:before {

    }
    .o-que-fazemos .row-items-listagem > [class^=col]:nth-child(odd) .card-items-listagem {
        display: flex;
        flex-direction: column-reverse;
    }   
}

.o-que-fazemos .card-items-listagem .card-img {
    overflow: hidden;
    position: relative;
    z-index: 0;
}

.o-que-fazemos .card-items-listagem .card-img:after {
    content: '';
    background-color: var(--itemCor);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    z-index: 0;
    inset: 0;
    mix-blend-mode: color;
    opacity: 0.40;
}

.o-que-fazemos .card-items-listagem .img-icone {
    width: 4.5rem;
    height: auto;
    position: relative;
    z-index: 1;
}

.o-que-fazemos .card-items-listagem .img img {
    background-image: var(--itemBgImage);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
}

.o-que-fazemos .card-items-listagem .img img {
    width: 100%;
    height: 100%;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
}

.o-que-fazemos .card-items-listagem .card-title {
    color: var(--cor-site-hex-branco);
    --fontsize: 2.4rem;
    font-size: var(--fontsize);
    line-height: calc(var(--fontsize) * 1.15);
    font-weight: 600;
    letter-spacing: 0.05rem;
    text-transform: none;
    font-style: italic;
    margin: 0;
    position: relative;
    z-index: 1;
}

.o-que-fazemos .card-items-listagem .card-body {
    background-color: var(--itemCor);
    text-align: center;
    min-height: 15.5rem;
    padding: 1rem 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.o-que-fazemos .card-items-listagem .btn {
    background-color: transparent;
    text-indent: -9000rem;
    min-width: auto;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
}

.o-que-fazemos .card-items-listagem .btn:before {
    content: '';
    width: auto;
    height: 100%;
    display: block;
    position: absolute;
    z-index: 1;
    inset: 0;
}

.o-que-fazemos .card-items-listagem .btn:focus {
    text-decoration: none;
    box-shadow: none;
}

.o-que-fazemos .card-items-listagem .img img {
    transform: scale(1) translate3d( 0, 0, 0) perspective(1px);
    -ms-transform: scale(1) translate3d( 0, 0, 0) perspective(1px);
    -webkit-transform: scale(1) translate3d( 0, 0, 0) perspective(1px);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-font-smoothing: subpixel-antialiased;
    will-change: transform;  
    opacity: 1;
}

.o-que-fazemos .card-items-listagem:hover .img img {
    transform: scale(1.1) translate3d( 0, 0, 0) perspective(1px);
    -ms-transform: scale(1.1) translate3d( 0, 0, 0) perspective(1px);
    -webkit-transform: scale(1.1) translate3d( 0, 0, 0) perspective(1px);
    opacity: 0.7;
}

@media (min-width: 769px) {
.o-que-fazemos .row-items-listagem > [class^=col]:nth-child(odd) .card-items-listagem .card-title,
.o-que-fazemos .row-items-listagem > [class^=col]:nth-child(odd) .card-items-listagem .img-icone {
    top: 0%;
}
.o-que-fazemos .card-items-listagem .card-title,
.o-que-fazemos .card-items-listagem .img-icone {
    bottom: 0%;
}     
.o-que-fazemos .row-items-listagem > [class^=col]:nth-child(odd) .card-items-listagem:hover .card-title,
.o-que-fazemos .row-items-listagem > [class^=col]:nth-child(odd) .card-items-listagem:hover .img-icone {
    top: calc(100% + (15.5rem / 4));
}
.o-que-fazemos .card-items-listagem:hover .card-title,
.o-que-fazemos .card-items-listagem:hover .img-icone {
    bottom: calc(100% + (15.5rem / 4));
} 
.o-que-fazemos .card-items-listagem .card-body:after {
    content: '';
    background-color: var(--itemCor);
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
    top: auto;
    bottom: -100%;
    left: 0;
    right: 0;
}  
.o-que-fazemos .row-items-listagem .card-items-listagem:hover .card-body:after {
    bottom: 0%;
}
.o-que-fazemos .row-items-listagem > [class^=col]:nth-child(odd) .card-items-listagem .card-body:after {
    top: -100%;
    bottom: auto;
}
.o-que-fazemos .row-items-listagem > [class^=col]:nth-child(odd) .card-items-listagem:hover .card-body:after {
    top: 0%;
}
}

.o-que-fazemos .card-items-listagem .card-title,
.o-que-fazemos .card-items-listagem .img-icone,
.o-que-fazemos .card-items-listagem .card-body:after,
.o-que-fazemos .card-items-listagem .img img {
    -webkit-transition: all .25s ease;
    -ms-transition: all .25s ease;
    -moz-transition: all .25s ease;
    -o-transition: all .25s ease;
    transition: all .25s ease;    
}

@media (max-width: 768px) {
    .o-que-fazemos .card-items-listagem {
        width: 100%;
        display: flex;
        flex-direction: row;
    }
    .o-que-fazemos .card-items-listagem .card-img,
    .o-que-fazemos .card-items-listagem .card-body {
        -ms-flex: 0 0 50%;
        flex: 0 0 50%;
        max-width: 50%;
        min-height: auto;
    }

    .o-que-fazemos .card-items-listagem .card-img img {
        height: 25rem;
    }

    .o-que-fazemos .row-items-listagem > [class^=col]:nth-child(odd) .card-items-listagem {
        flex-direction: row-reverse;
    }    
}

/* ----- */
.os-nossos-produtos .row-items-listagem {
    --rsize: -0.75rem;
    margin-left: var(--rsize);
    margin-right: var(--rsize);
}

.os-nossos-produtos .row-items-listagem > [class^=col] {
    --csize: calc(var(--rsize) * -1);
    margin-bottom: calc(var(--csize) * 4);
    padding-left: var(--csize);
    padding-right: var(--csize);
}

.os-nossos-produtos .card-items-listagem .card-img {
    background-color: var(--cor-site-hex-branco);
    position: relative;
    z-index: 0;
    overflow: hidden;
}

.os-nossos-produtos .card-items-listagem .img-icone {
    display: none;
}

.os-nossos-produtos .card-items-listagem, .os-nossos-produtos .card-items-listagem .img {
    width: 100%;
    height: auto;
}

.os-nossos-produtos .card-items-listagem .img img {
    transform: scale(1) translate3d( 0, 0, 0) perspective(1px);
    -ms-transform: scale(1) translate3d( 0, 0, 0) perspective(1px);
    -webkit-transform: scale(1) translate3d( 0, 0, 0) perspective(1px);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-font-smoothing: subpixel-antialiased;
    will-change: transform;  
}
.os-nossos-produtos .card-items-listagem:hover .img img {
    transform: scale(1.1) translate3d( 0, 0, 0) perspective(1px);
    -ms-transform: scale(1.1) translate3d( 0, 0, 0) perspective(1px);
    -webkit-transform: scale(1.1) translate3d( 0, 0, 0) perspective(1px);
}


.os-nossos-produtos .card-items-listagem .img img {
    -webkit-transition: all .25s ease;
    -ms-transition: all .25s ease;
    -moz-transition: all .25s ease;
    -o-transition: all .25s ease;
    transition: all .25s ease;    
}

.os-nossos-produtos .card-items-listagem .img img {
    width: 100%;
    height: auto;
    background-image: var(--itemBgImage);
    background-size: cover;
    background-position: center;
}

.os-nossos-produtos .card-items-listagem .card-title {
    color: var(--cor-site-hex-preto);
    --fontsize: 1.9rem;
    font-size: var(--fontsize);
    line-height: calc(var(--fontsize) * 1.15);
    font-weight: bold;
    text-transform: none;
    font-style: italic;
    margin: 0;
}

.os-nossos-produtos .card-items-listagem .card-body {
    background-color: var(--itemCor);
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 2rem 1.5rem;
}

.os-nossos-produtos .card-items-listagem .btn {
    background-color: transparent;
    text-indent: -9000rem;
    min-width: auto;
    height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
}

.os-nossos-produtos .card-items-listagem .btn:before {
    content: '';
    width: auto;
    height: 100%;
    display: block;
    position: absolute;
    z-index: 1;
    inset: 0;
}

.os-nossos-produtos .card-items-listagem .btn:focus {
    text-decoration: none;
    box-shadow: none;
}

/* ----- */
.ultimos-destaques .titulo-seccao-geral {
    color: var(--cor-geral-site-hex);
}

.ultimos-destaques .row-items-listagem {
    --rsize: -0.75rem;
    margin-left: var(--rsize);
    margin-right: var(--rsize);
    margin-top: 0;
}

.ultimos-destaques .row-items-listagem > [class^=col] {
    --csize: calc(var(--rsize) * -1);
    margin-bottom: calc(var(--csize));
    padding-left: var(--csize);
    padding-right: var(--csize);
}

.ultimos-destaques .card-items-listagem {
    width: 100%;
    display: block;
}

.ultimos-destaques .card-items-listagem .img img {
    width: 100%;
    height: auto;
    background-image: var(--itemBgImage);
    background-size: cover;
    background-position: center;
    border-radius: 0 !important;
}

.modulo-item-listagem.modulo-bloco3-listagem {}

.modulo-item-listagem.modulo-bloco3-listagem .card {
    margin: 0 0 3.5rem 0;
    padding: 0 1.5rem;
}

.modulo-item-listagem.modulo-bloco3-listagem .card-body {
    background-color: #ffffff;
    padding: 0;
    border-radius: 0;
}

.modulo-item-listagem.modulo-bloco3-listagem .card-title {
    font-size: 2rem;
    line-height: 2.75rem;
    font-weight: 700;
    margin-top: 0.75rem;
    margin-bottom: 1.5rem;
}

.modulo-item-listagem.modulo-bloco3-listagem .card-text {
    font-size: 1.5rem;
    line-height: 2.5rem;
    color: var(--cor-geral-site-hex);
}

.modulo-item-listagem.modulo-bloco3-listagem .card-img {
    border-radius: 0;
    overflow: hidden;
}

.modulo-item-listagem.modulo-bloco3-listagem .card-body {}

.modulo-item-listagem.modulo-bloco3-listagem .card-img {
    border: 0;
}

.modulo-item-listagem.modulo-bloco3-listagem .card-img img {
    background-size: cover;
    border-radius: 0 !important;
    width: 100%;
    height: auto;
}

.modulo-item-listagem.modulo-bloco3-listagem .btn {
    display: none;
}

.modulo-item-listagem.modulo-bloco3-listagem .card .card-img img {
    transform: scale(1) translate3d(0, 0, 0) perspective(1px);
    -ms-transform: scale(1) translate3d(0, 0, 0) perspective(1px);
    -webkit-transform: scale(1) translate3d(0, 0, 0) perspective(1px);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-font-smoothing: subpixel-antialiased;
    will-change: transform
}

.modulo-item-listagem.modulo-bloco3-listagem .card:hover .card-img img {
    transform: scale(1.1) translate3d(0, 0, 0) perspective(1px);
    -ms-transform: scale(1.1) translate3d(0, 0, 0) perspective(1px);
    -webkit-transform: scale(1.1) translate3d(0, 0, 0) perspective(1px);
}

.modulo-item-listagem.modulo-bloco3-listagem .card .card-img img,
.modulo-item-listagem.modulo-bloco3-listagem .card:hover .card-img img {
    -webkit-transition: all .25s ease;
    -ms-transition: all .25s ease;
    -moz-transition: all .25s ease;
    -o-transition: all .25s ease;
    transition: all .25s ease
}

.modulo-item-listagem.modulo-valores-listagem .card {
    margin-bottom: 3rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
}

.modulo-item-listagem.modulo-valores-listagem .card-icon {
    font-weight: 600;
    border-radius: 50%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 5rem;
    display: flex;
    width: 8rem;
    height: 8rem;
    font-size: 2.25rem;
    justify-content: center;
    align-items: center;
    margin-bottom: 1.5rem;
}

.modulo-item-listagem.modulo-valores-listagem .card-icon svg,
.modulo-item-listagem.modulo-valores-listagem .card-icon svg path {
    fill: rgb(var(--cor-site-rgb-4)) !important;
}

.modulo-item-listagem.modulo-valores-listagem .card-body {
    background-image: url(../images/icone-alvo-branco.png);
    background-repeat: no-repeat;
    background-size: auto;
    background-position: left center;
    border-radius: 0;
    padding: 0 0 0 11rem;
    display: flex;
    flex-direction: column;
}

.modulo-item-listagem.modulo-valores-listagem .card-title {
    color: rgb(var(--cor-site-rgb-1));
    font-weight: 400;
    font-size: 2rem;
    margin-bottom: 1rem;
}

.modulo-item-listagem.modulo-valores-listagem .card-text {
    color: rgb(var(--cor-site-rgb-branco));
    font-size: 1.5rem;
    line-height: 2.5rem;
    font-weight: 300;
}
