/* Installation gallery + News & Notices. Scoped so product pages stay as they are,
   except the shared lightbox hit-area which applies to all catalog grids. */

.page-template-installation-gallery .catalog_sec .portfolio-wrapper .thumb img,
.page-template-news-notices .catalog_sec .portfolio-wrapper .thumb img {
	object-fit: cover;
	height: 300px;
	width: 100%;
}

/* Theme CSS hides .portfolio-item until .active. Show all on our new pages. */
.page-template-installation-gallery .catalog_sec .portfolio-item.all,
.page-template-news-notices .catalog_sec .portfolio-item.all {
	display: block;
}

.page-template-news-notices .portfolio-cnt h2 a {
	color: inherit;
	text-decoration: none;
}

.page-template-news-notices .portfolio-cnt h2 a:hover {
	color: #ff841e;
}

.camfly-news-placeholder {
	height: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	text-align: center;
	background: #f4f4f4;
	color: #333;
	font-family: "Dosis", sans-serif;
	font-size: 22px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

.camfly-news-single .section-title.padding-t-40 {
	padding-top: 25px;
}

.camfly-news-single .section-title h2 {
	margin-top: 0;
}

.camfly-news-meta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	max-width: 860px;
	margin: 25px auto 30px;
	font-family: "Dosis", sans-serif;
	letter-spacing: 0.7px;
	color: #4a4a4a;
}

.camfly-news-meta-main {
	text-align: right;
	flex: 1 1 auto;
}

.camfly-news-cat {
	display: inline-block;
	margin: 0 6px 8px;
	padding: 4px 12px;
	border: 1px solid #ff841e;
	color: #ff841e;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 600;
}

.camfly-news-date {
	display: inline-block;
	margin-left: 8px;
	font-size: 14px;
}

.camfly-news-body {
	max-width: 860px;
	margin: 0 auto 40px;
	font-size: 16px;
	line-height: 1.7;
	color: #4a4a4a;
}

.camfly-news-body h3 {
	font-family: "Dosis", sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.7px;
	font-size: 20px;
	margin-top: 28px;
}

.camfly-news-body table {
	width: 100%;
	border-collapse: collapse;
	margin: 20px 0;
	font-size: 14px;
}

.camfly-news-body th,
.camfly-news-body td {
	border: 1px solid #e2e2e2;
	padding: 8px 10px;
	text-align: left;
}

.camfly-news-body th {
	background: #f7f7f7;
	font-family: "Dosis", sans-serif;
	text-transform: uppercase;
}

.camfly-news-body .camfly-note {
	margin-top: 16px;
}

.camfly-news-back {
	text-align: center;
	margin-bottom: 40px;
}

.camfly-news-back-link {
	color: #ff841e;
	font-family: "Dosis", sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.7px;
	font-weight: 600;
	white-space: nowrap;
	text-decoration: none;
}

.camfly-news-back-link:hover {
	color: #ff841e;
	text-decoration: underline;
}

.page-template-news-notices .catalog_sec .portfolio-item {
	margin-bottom: 30px;
}

.single-post .banner_img img {
	width: 100%;
	max-height: 420px;
	object-fit: cover;
}

/* Whole image is the lightbox/permalink hit area. Plus icon still appears on hover. */
.catalog_sec .portfolio-wrapper .thumb {
	cursor: pointer;
}

.catalog_sec .portfolio-wrapper .thumb .portfolio-intro {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	opacity: 1;
	-webkit-transform: none;
	-moz-transform: none;
	-ms-transform: none;
	transform: none;
	z-index: 2;
	pointer-events: auto;
}

.catalog_sec .portfolio-wrapper .thumb .action-btn,
.catalog_sec .portfolio-wrapper .thumb .action-btn a {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	background: transparent;
	border-radius: 0;
	line-height: normal;
	color: inherit;
}

.catalog_sec .portfolio-wrapper .thumb .action-btn a i {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 40px;
	height: 40px;
	border: 1px solid #ffffff;
	border-radius: 100px;
	background: #fff;
	color: #ff841e;
	text-align: center;
	line-height: 40px;
	opacity: 0;
	-webkit-transition: opacity 350ms ease-in-out;
	transition: opacity 350ms ease-in-out;
	pointer-events: none;
}

.catalog_sec .portfolio-wrapper:hover .thumb .action-btn a i {
	opacity: 1;
}

.catalog_sec .portfolio-wrapper .portfolio-cnt {
	z-index: 3;
	pointer-events: none;
}

.page-template-news-notices .catalog_sec .portfolio-wrapper .portfolio-cnt {
	pointer-events: auto;
}

.camfly-specials-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 16px 12px;
	margin: 24px 0 28px;
}

.camfly-specials-grid figure {
	margin: 0 0 8px;
	text-align: center;
}

.camfly-specials-grid img {
	width: 100%;
	height: 110px;
	object-fit: cover;
	display: block;
	background: #f4f4f4;
	margin-bottom: 10px;
}

.camfly-specials-grid figcaption {
	padding-top: 0;
	margin-bottom: 6px;
	font-size: 13px;
	line-height: 1.4;
	font-family: "Dosis", sans-serif;
	letter-spacing: 0.4px;
}

.camfly-specials-grid figcaption strong {
	display: block;
	text-transform: uppercase;
}

/* Contact page: leftover Wall Panels image widgets sat between map and branches. */
.contact_us .branch_info > div > img.attachment-full {
	display: none !important;
}

img[src$=".webp"] {
	max-width: 100%;
	height: auto;
}

.camfly-about-photo {
	margin: 0 0 30px;
}

.camfly-about-photo img {
	width: 100%;
	height: auto;
	display: block;
}

.camfly-spc-skirting {
	clear: both;
	width: 100%;
	margin: 0 0 40px;
}

.camfly-spc-skirting .section-title {
	padding-bottom: 20px;
}

.camfly-spc-skirting p {
	padding: 0 15px;
	font-size: 17px;
	letter-spacing: 0.7px;
	margin-bottom: 24px;
	color: #4a4a4a;
}

.camfly-spc-skirting img {
	width: 100%;
	max-width: 820px;
	height: auto;
	display: block;
	margin: 0 auto 20px;
	background: #e9e9e9;
}

.camfly-spc-skirting ul {
	list-style: none;
	margin: 0 0 10px;
	padding: 0 15px 10px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 28px;
	font-family: "Montserrat", sans-serif;
	font-size: 15px;
	letter-spacing: 0.4px;
	color: #4a4a4a;
}

.camfly-spc-skirting li strong {
	color: #ff841e;
	padding-right: 6px;
	font-family: "Dosis", sans-serif;
	letter-spacing: 0.7px;
}

@media (max-width: 767px) {
	.camfly-specials-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.camfly-specials-grid img {
		height: 140px;
	}

	.camfly-news-meta {
		flex-wrap: wrap;
	}

	.camfly-news-meta-main {
		text-align: left;
		width: 100%;
	}
}
