﻿/* CPL Theme — static Blog / Single / Archive / Search / Author styles (conditionally enqueued). */

    /*************************************
********  DEFAULT BLOG CSS  **********
*************************************/

    .post-single iframe {
        border: 0;
        width: 100%;
    }

    .post-tag label {
        font-weight: bold;
        color: #3B82F6;
    }

    .post-tag-social {
        font-size: 14px;
        margin: 0px 0 40px 0;
        clear: both;
        padding-top: 30px;
    }

    .post-tag-social .post-share label {
        color: #1d2c38;
    }

    .post-tag-social .post-share ul {
        padding: 0;
        margin: 0;
    }

    .post-tag span.tagcloud a {
        margin-left: 5px;
        text-transform: capitalize;
        color: #1d2c38;
        display: inline-block;
    }

    .post-tag span.tagcloud a:after {
        content: ",";
    }

    .post-tag-social .share-this-post ul li a {
        width: 30px;
        height: 30px;
        display: block;
        color: #fff;
        background-color: #2058bf;
        border-radius: 100%;
        font-size: 13px;
        line-height: 32px;
    }

    .post-tag-social .share-this-post ul li {
        display: inline-block;
        text-align: center;
        margin-left: 5px;
    }

    .post-tag-social .share-this-post ul li a:hover {
        background-color: #1d2c38;
    }

    .post-tag-social .share-this-post ul li a:hover i {
        color: #fff;
    }

    .post-tag-social .share-this-post ul li a i {
        color: #fff;
    }

    .post-tag span.tagcloud a:hover {
        color: #2058bf;
    }

    .grid .post-img img,
    .grid-ls .post-img img,
    .grid-rs .post-img img {
        height: auto;
        object-fit: cover;
    }
    .post-meta-box ul li i {
        margin-right: 10px;
        color: #104cba;
    }

    .post-img img {
        max-width: 100%;
        object-fit: cover;
    }

/*************************************
********  ARCHIVE LISTING FEATURED IMAGE CSS  **********
*************************************/
    body.archive:not(.author) .single-post-item .post-img {
        overflow: hidden;
        transition: all 0.3s ease;
    }

    body.archive:not(.author) .single-post-item .post-img:hover {
        transform: scale(1.02);
    }

    body.archive:not(.author) .single-post-item .post-img img {
        display: block;
        width: 100%;
    }

    .post-meta-box ul li {
        display: inline-block;
        margin-right: 30px;
        font-size: 14px;
        text-transform: capitalize;
        line-height: 27px;
    }

    li.post-cat a {
        display: inline-block;
    }

    .post-meta-box ul li a,
    .post-meta-box label {
        color: #1d2c38;
    }

    .share-this-post ul li {
        margin-right: 0;
        margin-left: 15px;
    }

    .share-this-post ul li a i {
        color: #1d2c38;
    }

    .share-this-post ul li a:hover i,
    .post-meta-box ul li a:hover {
        color: #104cba;
    }

    h2.entry-title {
        font-size: 30px;
        line-height: 40px;
        color: #1d2c38;
    }

    .post-details h2.entry-title {
        font-size: 35px;
        line-height: 45px;
    }

    .post-content p {
        font-size: 15px;
        line-height: 1.7;
    }

    .post-content {
        padding-top: 0px;
        margin-bottom: 25px;
    }

    .post-single .post-content {
        padding-top: 16px;
    }

    .post-meta-box {
        line-height: 1;
        padding-top: 33px;
        padding-bottom: 20px;
    }

    .post-details .post-meta-box {
        padding-top: 0px;
    }

    .post-meta-box ul {
        padding: 0;
        margin: 0;
    }

    .share-this-post {
        display: inline-block;
    }

    .post-share label {
        margin-right: 0px;
    }

    .post-share {
        margin-right: 6px;
    }

    .post-share ul li,
    .post-share span {
        display: inline;
    }

    .share-this-post ul li i {
        padding: 0;
        margin: 0;
    }

    .post-button .theme-btns {
        padding: 20px 45px;
        font-size: 15px;
    }

    .single-post-item .post-thumbnail img {
        max-width: 100%;
    }

    .post-title h2.entry-title {
        padding: 0;
        margin: 0;
    }

    .all-posts-wrapper .single-post-item {
        margin-bottom: 60px;
    }

    .post-img {
        position: relative;
    }

    a.post-video {
        position: absolute;
        left: 0;
        right: 0;
        top: 0;
        bottom: 0;
        margin: auto;
        width: 100px;
        height: 100px;
        background-color: #2058bf;
        border-radius: 100%;
        text-align: center;
        vertical-align: middle;
        line-height: 101px;
        color: #fff;
    }

    a.post-video:hover {
        background-color: #ffffff;
        color: #2058bf;
    }
    /*************************************
******** SEARCH PAGE CSS  **********
*************************************/

    .page-content .search-form input.search-field {
        width: 100%;
        padding: 15px;
        border: 1px solid #104cba;
    }

    .page-content .search-form input.search-field:focus {
        outline: none;
    }

    .page-content .search-form .search-button button {
        top: 0;
        position: absolute;
        right: 0;
        padding: 23px 31px;
        border: none;
        background: transparent;
        -webkit-transition: all 0.4s ease-in-out;
        -moz-transition: all 0.4s ease-in-out;
        -ms-transition: all 0.4s ease-in-out;
        -o-transition: all 0.4s ease-in-out;
        transition: all 0.4s ease-in-out;
        line-height: 1.5;
    }

    .page-content .search-form {
        position: relative;
    }

    .page-content .search-form .search-button button:hover {
        color: #104cba;
    }
    .post-single .slick-slider img {
        height: auto;
    }

    .mfp-fade.mfp-bg {
        opacity: 0;
        -webkit-transition: all 0.15s ease-out;
        -moz-transition: all 0.15s ease-out;
        transition: all 0.15s ease-out;
    }

    .mfp-fade.mfp-bg.mfp-ready {
        opacity: 0.8;
    }

    .mfp-fade.mfp-bg.mfp-removing {
        opacity: 0;
    }

    .mfp-fade.mfp-wrap .mfp-content {
        opacity: 0;
        -webkit-transition: all 0.15s ease-out;
        -moz-transition: all 0.15s ease-out;
        transition: all 0.15s ease-out;
    }

    .mfp-fade.mfp-wrap.mfp-ready .mfp-content {
        opacity: 1;
    }

    .mfp-fade.mfp-wrap.mfp-removing .mfp-content {
        opacity: 0;
    }

    .row.all-posts-wrapper .format-audio .vendor {
        margin-bottom: -10px;
    }
    /*************************************
******** QUOTE POST CSS  **********
*************************************/

    .post-single.format-quote .post-contents {
        background: #2058bf;
        padding: 50px;
        position: relative;
        z-index: 1;
    }

    .post-single.format-quote .post-contents:after {
        content: "\f10e";
        font-family: 'Font Awesome 5 Free';
        font-weight: 600;
        position: absolute;
        left: 0;
        right: 0;
        top: 80px;
        bottom: 0;
        text-align: center;
        font-size: 120px;
        z-index: -1;
        color: #ffffff;
        opacity: .1;
    }

    .post-single.format-quote .post-contents h2.entry-title a {
        color: #ffffff;
        line-height: 40px;
    }

    .post-single.format-quote .post-contents h2.entry-title a:hover {
        color: #1d2c38;
    }

    .single-post-item .post-title h2.entry-title a:hover{
        text-decoration:underline;
        text-decoration-thickness: 0.1rem;
        text-underline-offset: 0.2rem;
        transition: all 0.3s ease;
    }
/*************************************
********  SINGLE POST FEATURED IMAGE CSS  **********
*************************************/
    body.single-post .cplthm-single-featured-image {
        border-radius: 10px;
        margin-top: 25px;
        margin-bottom: 25px;
        overflow: hidden;
        box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
        transition: all 0.3s ease;
    }

    body.single-post .cplthm-single-featured-image:hover {
        transform: scale(1.02);
    }

    body.single-post .cplthm-single-featured-image img {
        max-height: 550px;
        object-fit: cover;
    }
    
/*************************************
********  POST PAGINATION CSS  **********
*************************************/

    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-previous a:before,
    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-next a:after {
        content: "";
        margin: 0;
        padding: 0;
        font-size: 0;
    }
    .navigation.cplthm-post-pagination nav.navigation.post-navigation {
        margin-top: 0;
        margin-bottom: 0;
        border: none;
        padding: 30px 0;
        overflow: hidden;
    }

    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-previous a .cplthm-nav-title,
    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-next a .cplthm-nav-title {
        position: relative;
        top: 0;
        overflow: hidden;
        transition: color 0.2s ease;
        width: 100%;
        max-width: 100%;
    }

    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-previous a .cplthm-nav-marquee-overlay,
    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-next a .cplthm-nav-marquee-overlay {
        position: absolute;
        overflow: hidden;
        visibility: hidden;
        pointer-events: none;
        text-align: left;
    }

    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-previous a .cplthm-nav-marquee-track,
    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-next a .cplthm-nav-marquee-track {
        display: inline-block;
        vertical-align: top;
        white-space: nowrap;
        width: max-content;
        max-width: none;
        margin-left: 0;
        margin-right: 0;
        transform: translate3d(0, 0, 0);
    }

    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-previous a,
    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-next a {
        position: relative;
        padding: 12px 24px;
        background-color: #e7f1fd;
        overflow: hidden;
        display: block;
        box-sizing: border-box;
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    /*
     * Additive marquee overlay: Theme Panel clamp stays on .cplthm-nav-title.
     * Normal truncated titles: match approved hover marquee text origin (top-left of title box).
     * Only the overlay track transform animates horizontally on hover.
     */
    body.single-post .cplthm-post-pagination nav.navigation.post-navigation .nav-links .cplthm-nav-title.is-truncated {
        -webkit-box-pack: start;
        box-pack: start;
        -webkit-box-align: start;
        box-align: start;
        vertical-align: top;
        text-align: left;
        margin-top: 0;
        margin-bottom: 0;
        padding-top: 0;
        padding-bottom: 0;
    }

    body.single-post .cplthm-post-pagination nav.navigation.post-navigation .nav-links a.is-marquee-active .cplthm-nav-title.is-truncated {
        opacity: 0;
    }

    body.single-post .cplthm-post-pagination nav.navigation.post-navigation .nav-links a.is-marquee-active .cplthm-nav-marquee-overlay {
        visibility: visible;
    }

    @supports ((-webkit-mask-image: linear-gradient(#000, #000)) or (mask-image: linear-gradient(#000, #000))) {
        body.single-post .cplthm-post-pagination nav.navigation.post-navigation .nav-links a.is-marquee-active .cplthm-nav-marquee-overlay {
            -webkit-mask-image: linear-gradient(to right, transparent 0, #000 10px, #000 calc(100% - 10px), transparent 100%);
            mask-image: linear-gradient(to right, transparent 0, #000 10px, #000 calc(100% - 10px), transparent 100%);
        }
    }

    body.single-post .cplthm-post-pagination nav.navigation.post-navigation .nav-links a.is-marquee-active .cplthm-nav-marquee-track {
        will-change: transform;
        animation: cplthm-nav-title-marquee 6s ease-in-out infinite alternate;
    }

    @keyframes cplthm-nav-title-marquee {
        0%,
        15% {
            transform: translate3d(0, 0, 0);
        }

        85%,
        100% {
            transform: translate3d(calc(-1 * var(--cplthm-nav-marquee, 0px)), 0, 0);
        }
    }

    @media (prefers-reduced-motion: reduce) {
        body.single-post .cplthm-post-pagination nav.navigation.post-navigation .nav-links a.is-marquee-active .cplthm-nav-marquee-track {
            animation: none;
        }
    }

    .no-thum-img.post-contents.entry-content {
        margin-bottom: 50px;
    }

    .post-details .post-img {
        padding-bottom: 30px;
    }

    .post-details .no-thum-img.post-contents.entry-content {
        margin-bottom: 0px;
    }

    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-previous,
    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-next {
        width: 50%;
        max-width: 50%;
        min-width: 0;
        overflow: hidden;
        box-sizing: border-box;
    }

    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-previous a:hover,
    .cplthm-post-pagination nav.navigation.post-navigation .nav-links .nav-next a:hover {
        background-color: #104cba;
        color: #ffffff;
    }

    .navigation.cplthm-post-pagination nav.navigation.post-navigation .nav-links {
        display: flex;
    }

    .navigation.cplthm-post-pagination .nav-previous {
        margin-right: 15px;
    }

    .navigation.cplthm-post-pagination .nav-next {
        margin-left: 15px;
    }
    /** Author profile ***/

    .author-info-inner {
        display: flex;
        box-shadow: 0px 0px 33px 0px rgb(0 0 0 / 7%);
        padding: 29px 22px;
        border-radius: 5px;
        margin-bottom: 40px;
    }

    .author-img {
        width: 140px;
        height: 140px;
        border-radius: 100%;
    }

    .author-img img {
        width: 100%;
        object-fit: cover;
        border-radius: 100%;
        margin-right: 40px;
    }

    .author-info-title {
        font-size: 24px;
        text-transform: capitalize;
        margin: 0;
        line-height: 24px;
    }

    .author-dec {
        margin-top: 12px;
        margin-bottom: 15px;
    }

    .author-social-info ul {
        margin: 0;
        padding: 0;
    }

    .author-social-info ul li {
        display: inline-block;
        margin-right: 8px;
    }

    .author-social-info ul li a {
        width: 30px;
        height: 30px;
        display: block;
        background: #2058bf;
        text-align: center;
        color: #ffffff;
        font-size: 12px;
        border-radius: 100%;
        line-height: 32px;
    }

    .author-info-left {
        margin-right: 40px;
    }

    .author-social-info ul li a:hover {
        background: #222f5a;
        color: #fff;
    }

    .widget.author-info-item .author-img,
    .widget.author-info-item .author-img img {
        border-radius: 3px;
        box-shadow: 0px 0px 33px 0px #eff2f6;
    }

    .widget.author-info-item .author-img {
        margin-bottom: 24px;
    }

    .widget.author-info-item>ul li {
        border-bottom: 1px solid #dde0e4;
        padding-top: 0px;
        padding-bottom: 7px;
    }

    .widget.author-info-item>ul li span {
        font-weight: 500;
        margin-right: 10px;
        display: inline-block;
    }

    h2.author-single-title {
        font-size: 30px;
        margin-bottom: 30px;
    }

    .widget.author-info-item>ul li.aname,
    .widget.author-info-item>ul li.adname {
        text-transform: capitalize;
    }

/*************************************
********  LISTING CARD EQUAL HEIGHT  **********
*************************************/
    body.blog .all-posts-wrapper > .grid-post-item,
    body.archive .all-posts-wrapper > .grid-post-item {
        display: flex;
        flex-direction: column;
    }

    body.blog .all-posts-wrapper > .grid-post-item > .post-single,
    body.archive .all-posts-wrapper > .grid-post-item > .post-single {
        display: flex;
        flex-direction: column;
        width: 100%;
        height: 100%;
    }

    body.blog .all-posts-wrapper > .grid-post-item > .post-single > .post-contents,
    body.archive .all-posts-wrapper > .grid-post-item > .post-single > .post-contents {
        display: flex;
        flex-direction: column;
        flex: 1 1 auto;
    }

    body.blog .all-posts-wrapper > .grid-post-item > .post-single .post-meta-box,
    body.archive .all-posts-wrapper > .grid-post-item > .post-single .post-meta-box {
        min-height: var(--cpl-listing-meta-height, auto);
    }

    body.blog .all-posts-wrapper > .grid-post-item > .post-single .post-title,
    body.archive .all-posts-wrapper > .grid-post-item > .post-single .post-title {
        min-height: var(--cpl-listing-title-height, auto);
    }

    body.blog .all-posts-wrapper > .grid-post-item > .post-single .post-content,
    body.archive .all-posts-wrapper > .grid-post-item > .post-single .post-content {
        min-height: var(--cpl-listing-excerpt-height, auto);
    }

    body.blog .all-posts-wrapper > .grid-post-item > .post-single .post-button,
    body.archive .all-posts-wrapper > .grid-post-item > .post-single .post-button {
        margin-top: auto;
    }

    body.cpl-listing-meta-stacked.blog .all-posts-wrapper .post-meta-item ul,
    body.cpl-listing-meta-stacked.archive .all-posts-wrapper .post-meta-item ul {
        display: flex;
        flex-direction: column;
        flex-wrap: nowrap;
    }
