#shimmer {
    display: none
}

.truncate-1 {
    display: -webkit-box !important;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.truncate-2 {
    display: -webkit-box !important;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.truncate-3 {
    display: -webkit-box !important;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.truncate-4 {
    display: -webkit-box !important;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden
}

.shimmer {
    display: flex;
    width: 100%;
    justify-content: center;
    padding: 10px 0
}

.dot-pulse {
    position: relative;
    left: -9999px;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #ec2028;
    color: #ec2028;
    box-shadow: 9999px 0 0 -5px #ec2028;
    animation: dotPulse 1.5s infinite linear;
    animation-delay: .25s
}

.dot-pulse::after,
.dot-pulse::before {
    content: '';
    display: inline-block;
    position: absolute;
    top: 0;
    width: 10px;
    height: 10px;
    border-radius: 5px;
    background-color: #ec2028;
    color: #ec2028
}

.dot-pulse::before {
    box-shadow: 9984px 0 0 -5px #ec2028;
    animation: dotPulseBefore 1.5s infinite linear;
    animation-delay: 0s
}

.dot-pulse::after {
    box-shadow: 10014px 0 0 -5px #ec2028;
    animation: dotPulseAfter 1.5s infinite linear;
    animation-delay: .5s
}

@keyframes dotPulseBefore {
    0% {
        box-shadow: 9984px 0 0 -5px #ec2028
    }

    30% {
        box-shadow: 9984px 0 0 2px #ec2028
    }

    100%,
    60% {
        box-shadow: 9984px 0 0 -5px #ec2028
    }
}

@keyframes dotPulse {
    0% {
        box-shadow: 9999px 0 0 -5px #ec2028
    }

    30% {
        box-shadow: 9999px 0 0 2px #ec2028
    }

    100%,
    60% {
        box-shadow: 9999px 0 0 -5px #ec2028
    }
}

@keyframes dotPulseAfter {
    0% {
        box-shadow: 10014px 0 0 -5px #ec2028
    }

    30% {
        box-shadow: 10014px 0 0 2px #ec2028
    }

    100%,
    60% {
        box-shadow: 10014px 0 0 -5px #ec2028
    }
}

.shine {
    background: #f6f7f8;
    background-image: linear-gradient(to right, #f6f7f8 0, #edeef1 20%, #f6f7f8 40%, #f6f7f8 100%);
    background-repeat: no-repeat;
    background-size: 800px 104px;
    display: inline-block;
    position: relative;
    -webkit-animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-name: placeholderShimmer;
    -webkit-animation-timing-function: linear
}

.box {
    height: 104px;
    width: 100%
}

.shimmer-div {
    display: inline-flex;
    flex-direction: column;
    vertical-align: top;
    width: 100%
}

.lines {
    height: 20px;
    margin-top: 10px;
    width: 100%
}

.photo {
    display: block !important;
    width: 325px;
    height: 100px;
    margin-top: 15px
}

@-webkit-keyframes placeholderShimmer {
    0% {
        background-position: -468px 0
    }

    100% {
        background-position: 468px 0
    }
}

.flex {
    display: flex
}

.align-items-center {
    align-items: center
}

.mx-8 {
    margin-left: 8px;
    margin-right: 8px
}

.my-8 {
    margin-top: 8px;
    margin-bottom: 8px
}

.text-secondary {
    color: gray
}

.author-news-card {
    margin-bottom: 0 !important;
    padding: 12px 0px !important;
}