/**
 * Block
 */

.b-prd {
    background-color: #EBF0F5;
}
.b-prd.bgc-white {
    background-color: #fff;
}
/* .b-prd.project {
    padding-top: 18px;
} */
/* .b-prd.post {
    padding-top: 18px;
} */
.b-prd__title { 
    letter-spacing: 0;
    margin-top: 5px;
    margin-bottom: 21px;
    font-weight: 700;
 }
 .b-prd__text {
    margin: 0 auto 24px;
    max-width: 820px;
    text-align: center;
 }

.b-prd__items:not(:last-child) { margin-bottom: 49px; }

/**
 * Categories
 */
.b-prd__categories {
    margin-top: 30px;
    margin-bottom: 31px;
    text-align: center;
}
.b-prd.post .b-prd__categories {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.b-prd__categories ul {
    display: flex;
    justify-content: center;
    gap: 16px;
    flex-wrap: wrap;
}
.b-prd.post .b-prd__categories ul {
    justify-content: flex-start;
}
.b-prd__categories li {
    list-style: none;
}
.b-prd__categories .b-prd__category {
    padding: 18px 23px;
    color: #1D1F21;
    box-shadow: inset 0 0 0 2px #1D1F21;
}
.b-prd__categories  .b-prd__category:hover,
.b-prd__categories  .b-prd__category.active {
    color: #fff;
    background: #004C7E;
    box-shadow: inset 0 0 0 2px #004C7E;
}

@media (max-width: 767px) {
.b-prd.post .b-prd__categories ul {
justify-content: center;
}
}
/* Small padding */
.b-prd--pd-small {
    padding-top: 64px;
    padding-bottom: 64px;
}

.prod-grid { margin-bottom: -24px; }

.prod-grid__item { margin-bottom: 24px; }

/**
 * Single product
 */
.product__image-wrap {
    margin-bottom: -72px;
    overflow: hidden;
}

.product__image {
    padding-bottom: 200px;
    transition: all .2s;
    background-size: cover;
    background-position: center;
    position: relative;
}
.product__image:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: transparent linear-gradient(180deg, #1D1F2100 0%, #1D1F21 100%) 0% 0% no-repeat padding-box;
    opacity: 0.2;
}

.product__title {
    position: relative;
    min-height: 96px;
    margin-top: 24px;
    margin-left: 32px;
    margin-right: 16px;
    padding: 22px 80px 22px 34px;
    background: #fff;
}

.product__title h3 {
    font-size: 18px;
    letter-spacing: 0.9px;
    font-weight: 500;
    line-height: 26px;
    text-transform: uppercase;
}

.prod-grid__item:nth-child(n+4):nth-child(-n+6) .product__title {
    padding-right: 44px;
    padding-left: 88px;
}



/**
 * Products
 */
.prod-grid { margin-bottom: -24px; }
.b-prd__title + .b-prd__items {
    margin-top: 40px;
}

.prod-grid__item { margin-bottom: 24px; }



/**
 * Single product
 */
.product__image-wrap {
    margin-bottom: -72px;
    overflow: hidden;
}

.product__title h3 {
    font-size: 18px;
    letter-spacing: 0.9px;
    font-weight: 500;
    line-height: 26px;
    text-transform: uppercase;
}

.product__arrow {
    position: absolute;
    top: 50%;
    right: 32px;
    transform: translateY(-50%);
    font-size: 18px;
    transition: right .2s;
}

.product:hover .product__image { transform: scale(1.05); }

.product:hover .product__title {
    background: #004C7E;
}

.product:hover .product__title,
.product:hover .product__title .c-dark { color: #fff; }

.product:hover .product__arrow { right: 24px; }

.prod-grid__item:nth-child(n+4):nth-child(-n+6) .product__title {
    padding-right: 44px;
    padding-left: 88px;
}

.prod-grid__item:nth-child(n+4):nth-child(-n+6) .product__arrow {
    right: auto;
    left: 32px;
    transform: translateY(-50%) scaleX(-1);
    transition: left .2s;
}

.prod-grid__item:nth-child(n+4):nth-child(-n+6) .product:hover .product__arrow {
    left: 24px;
 }

 @media (min-width: 1100px) {
    .b-prd__title { 
        font-size: 52px;
     }
 }
@media ( max-width: 1099.98px ) {

    .prod-grid__item {
        margin-bottom: 23.5px;
    }

    .b-prd__title {
        margin-bottom: 26px;
    }

    .product__title {
        margin-top: 7px;
        min-height: 98px;
        margin-left: 16px;
        padding: 14px 70px 14px 24px;
    }

    .prod-grid__item:nth-child(n+4):nth-child(-n+6) .product__title {
        padding-left: 80px;
    }

    .prod-grid__item:nth-child(n+4):nth-child(-n+6) .product__arrow {
        left: 24px;
    }

}

@media ( max-width: 767px ) {
    .b-prd--pd-small {
        padding-top: 32px;
        padding-bottom: 32px;
    }

    .b-prd__items:not(:last-child) { margin-bottom: 51px; }


    .product__image-wrap { margin-bottom: -57px; }

    .product__arrow { right: 25px; }
}

.js-service-item-wrapper,
.display-contents {
    display: contents;
}



/* Posts */
.post-grid {
    margin-top: 40px;
}
.post__image-wrap {
    height: 220px;
    margin-bottom: 14px;
    overflow: hidden;
}
.post__image-wrap img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    transition: all .2s;
}
.post__info {
    flex-wrap: nowrap;
    font-size: 14px;
    line-height: 17px;
    letter-spacing: 0.34px;
    color: #696F75;
    margin-bottom: 21px;
}
.post__info .date {
    white-space: nowrap;
}
.post__info .date:not(:last-child) {
    margin-right: 16px;
    padding-right: 16px;
    border-right: 1px solid #696F75;
}
.post__info .categories {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;      
}
.post-grid__item {
    padding-bottom: 14px;
}
.post-grid__item h3 {
    letter-spacing: 0.9px;
    color: #162D39;
    font-size: 18px;
    line-height: 26px;
    margin-bottom: 14px;
    transition: all .2s;
}
.post-grid__item .address {
    color: #1D1F21;
    opacity: 0.7;
}
.post-grid__item .read-more {
    letter-spacing: 0.6px;
    color: #162D39;
    font-weight: 500;
}
.post-grid__item .read-more .post__arrow {
    font-size: 14px;
    margin-left: 11px;
}
.b-prd__more-btn {
    text-align: center;
    margin-top: 48px;
}
.b-prd__more-btn .btn {
    padding: 17px 32px 16px;
}
.b-prd__more-btn .btn .ic {
    font-size: 14px;
    margin-left: 16px;
    display: inline-block;
    transition: all 0.2s;
}
.b-prd__more-btn .btn:hover .ic {
    transform: translateX(8px);
}

.post-grid__item .post:hover img {
    transform: scale(1.05);
}
.post-grid__item .post:hover h3 {
    text-decoration: underline;
}

/* Project */
.b-prd.project .post-grid__item {
    padding-bottom: 30px;
}
.b-prd.project .post__image-wrap {
    height: 270px;
}
.b-prd.project .post-grid__item h3 {
    margin-bottom: 10px;
}


/* Pager */
.pager {
	list-style: none !important;
	margin-left: auto !important;
	justify-content: flex-end;
}
.pager .is-last,
.pager .is-first {
	display: none;
}
.pager .pager__item,
.pager .pager__arrow {
	width: 56px;
	height: 51px;
	align-items: center;
	justify-content: center;
	display: flex;
	margin-left: 16px;
    border: 2px solid #2E2E2E;;
    font-weight: 500;
    transition: all .2s;
    cursor: pointer;
}
.pager .pager__arrow-link {
    color: #162D39;
}
.pager .pager__item-link {
    color: #2E2E2E;
}
.pager .pager__item.is-dots {
	width: 20px;
}
.pager .pager__item:hover,
.pager .pager__item--is-current,
.pager .pager__arrow:hover {
	border-color: #004C7E;
    background: #004C7E;
}
.pager .pager__item:hover a,
.pager .pager__item-link--is-current,
.pager .pager__arrow:hover a {
    color: #fff;
}
.pager .pager__arrow--prev {
    transform: scale(-1);
}
@media (max-width: 767px) {
	.pager {
		margin-top: 16px;
	}
	.pager .pager__item {
		margin-left: 7px;
	}
}

/* Posts search */
.b-prd__search {
    padding: 15px 23px;
    box-shadow: inset 0 0 0 2px #1d1f21;
    width: fit-content;
    display: flex;
    flex-wrap: nowrap;
}
.b-prd__search input {
    width: 100%;
    border: none;
    outline: none;
    max-width: 57px;
    transition: all .2s;
}
.b-prd__search svg {
    height: 16px;
    width: 16px;
    min-width: 16px;
    margin-right: 8px;
}
.b-prd__search input:focus,
.b-prd__search input:active {
    max-width: 326px;
}

@media ( max-width: 767px ) {
    .b-prd.post .b-prd__categories {
        flex-wrap: wrap;
    }
    .b-prd__search {
        width: 100%;
    margin-top: 24px;
    }
    .b-prd__search input {
        max-width: unset;
    }
}