/*---------------------------------------------------------------------------------------------------------------------------*/
/*	Project Archives
/*---------------------------------------------------------------------------------------------------------------------------*/

div.mobile-project-filter-wrap {
display: none;
}

div.mobile-project-filter-wrap ul {
width: 100%;	
}

/*body.post-type-archive-projects,
body.single-projects {*/
body {
padding-top: 80px;
}

ul.cat-filter {
margin: 0 auto;	
display: block;
padding: 0 3px;
float: left;
width: 20%;
}

ul.cat-filter li {
display: block;
margin: 0 0 6px;	
border: solid 1px #ddd;
-webkit-border-radius: 20px;
-moz-border-radius: 20px;
border-radius: 20px;
overflow: hidden;
text-transform: uppercase;
text-align: center;
height: 40px;
line-height: 40px;
padding: 0;
}

ul.cat-filter li.view-all-projects {
}


ul.cat-filter li a {
color: #5f8eb5;
text-decoration: none;
width: 100%;
display: block;
transition: all 0.3s ease 0s;
}


ul.cat-filter li a:hover {
background: #ddd;	
}

ul.cat-filter li.data-selected a {
color: #fff;
background: #de6126;
}

body.archive.tax-sector_category h3,
body.post-type-archive-projects h3 {
padding: 5px 10px;
font-size: 16px;
margin: 0 auto;	
display: block;
max-width: 1600px;	
}

body.post-type-archive-projects main div.filter-wrap {
padding: 30px 0;
max-width: 1600px;
margin: 0 auto;
}

body.post-type-archive-projects main div.filter-wrap::after {
content: '';
display: block;
clear: both;	
}

body.archive.tax-sector_category main h1,
body.post-type-archive-projects main h1 {
text-align: center;
display: block !important;
font-size: 2.1vw !important;
letter-spacing: 4px;
font-weight: 300;
color: #5f8eb5;
padding: 20px 0;
}

body.archive.tax-sector_category main h1 {
text-align: left;	
line-height: 1.2;
}

div.project-grid {
padding: 30px 0;
max-width: 1600px;
display: flex;
flex-wrap: wrap;
/*justify-content: center;
align-items: center; */
margin: 0 auto;
}

/* start new grid rules for individual taxonomy pages */
body.tax-sector_category .project-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr); /* 4 columns */
  /*grid-template-rows: repeat(2, 300px);*/  /* 2 equal rows */
  margin: 0 auto;
}

/* Featured image spans 2 columns and 2 rows */
body.tax-sector_category .project-grid .title-wrap {
  grid-column: 1 / span 2;
  grid-row: 1 / span 2;
  background-color: #f5f5f5;
  border: solid 5px #fff;
  padding: 0 0 0 2rem;
  aspect-ratio: 73 / 49.5;
  display: flex;
  justify-content: center;     /* horizontal alignment (optional) */
  align-items: center;         /* vertical centering */
}

body.tax-sector_category .project-grid .title-wrap .title-inner {
  max-height: 100%;
  overflow-y: auto;
  padding: 1rem 2rem 2rem 0;
}

body.tax-sector_category .project-grid .title-wrap #cat-desc-wrap {
	color: #333;	
}

body.tax-sector_category .project-grid .title-wrap p:not(:last-child) {
  margin-bottom: 0.8rem;
}

/* Other items auto-flow into remaining spaces */
body.tax-sector_category .project-grid a {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
}

body.tax-sector_category .project-grid .title-inner a.launch-fl {
display: none;
font-size: 16px;
text-align: center;
color: #de6126;
}

body.tax-sector_category > div.featherlight > div {
background: #fff !important;
color: #333;
padding: 2rem !important;
}

body.tax-sector_category > div.featherlight > div p:not(:last-child) {
  margin-bottom: 0.8rem;
}

body.tax-sector_category > .featherlight .featherlight-content {
overflow-y: auto !important;	
}

@media only screen and (max-width:920px) {
	body.tax-sector_category .project-grid {
	  grid-template-columns: repeat(3, 1fr); /* 3 columns */
	}	
	
	body.archive.tax-sector_category main h1 {
		font-size: 30px !important;	
	}
}

@media only screen and (max-width:640px) {
	body.tax-sector_category .project-grid {
	  grid-template-columns: repeat(2, 1fr); /* 2 columns */
	}
	
	body.archive.tax-sector_category main h1 {
		font-size: 24px !important;	
	}	
	
	
	/* Featured image spans 2 columns and 2 rows */
	body.tax-sector_category .project-grid .title-wrap {
	  grid-column: 1 / span 2;
	  grid-row: 1 / span 1;
	  aspect-ratio: 2 / 1;
	  padding: 0.5rem;	 
	  overflow: hidden;	   
	}	
	
	body.tax-sector_category .project-grid .title-wrap .title-inner {
		padding: 0;
		overflow: hidden;
	}
	
	body.archive.tax-sector_category main h1 {
		text-align: center;
	}	
	
	body.tax-sector_category .project-grid .title-wrap #cat-desc-wrap {
		display: none;	
	}
	
	body.tax-sector_category .project-grid .title-inner a.launch-fl {
	display: block;	
	}

		
}

/* Optional: Scrollbar styling, if needed */
body.tax-sector_category .project-grid .title-wrap .title-inner::-webkit-scrollbar {
  width: 8px;
}
body.tax-sector_category .project-grid .title-wrap .title-inner::-webkit-scrollbar-thumb {
  background: rgba(0,0,0,0.2);
  border-radius: 4px;
}

/* end new grid rules for individual taxonomy pages */

div.project-grid a.preload {
/*display: none;*/
}

body.archive.tax-sector_category main a,
body.post-type-archive-projects main a {
flex: 0 0 25%;
}

body.archive.tax-sector_category main article,
body.post-type-archive-projects main article {
margin: 0;
border: solid 5px #fff;
position: relative;
text-align: center;
cursor: pointer;
overflow: hidden;
}

body.archive.tax-sector_category main article h2 /*,
body.post-type-archive-projects main article h2*/ {
margin-top: 0;
text-align: center;
font-size: 20px;
position: absolute;
bottom: 15px;
left: 0;
width: 100%;
color: #fff;
z-index: 20;
opacity: 0;
transition: all 0.3s ease 0s;
}

body.archive.tax-sector_category main article img.logo-white,
body.post-type-archive-projects main article img.logo-white {
position: absolute;
/*left: 15px;
bottom: 10px;*/
left: 25px;
bottom: 15px;
max-width: 160px;
height: auto;
z-index: 20;
opacity: 0;
transition: all 0.3s ease 0s;
}

body.archive.tax-sector_category main article::before /*,
body.post-type-archive-projects main article::before*/ {
content: '';
position: absolute;
display: block;
width: 100%;
height: 100%;
left: 0;
top: 0;
background: #fc0;
background: linear-gradient(0deg, rgba(0,0,0,0.8) 0%, rgba(0,0,0,0) 50%);
z-index: 15;
opacity: 0;
transition: all 0.3s ease 0s;
}

body.archive.tax-sector_category main article img,
body.post-type-archive-projects main article img {
width: 100%;
height: auto;
opacity: 1.0;
position: relative;
z-index: 10;
transition: all 0.5s ease 0s;
}

body.archive.tax-sector_category main a:hover article img,
body.post-type-archive-projects main a:hover article img {
/*opacity: 0.6;*/
transform: scale(1.2);
}

body.archive.tax-sector_category main a:hover article img.logo-white,
body.post-type-archive-projects main a:hover article img.logo-white {
opacity: 0.8;	
}


body.archive.tax-sector_category main a:hover article h2,
body.archive.tax-sector_category main a:hover article::before /*,
body.post-type-archive-projects main a:hover article h2,
body.post-type-archive-projects main a:hover article::before*/ {
opacity: 1.0;
}


span.proj-cat-table {
position: absolute;
background: rgba(0,0,0,0.6);
width: 100%;
height: 100%;
/*display: table;*/


display: flex;
	align-items: center;
left: 0;
top: 0;
z-index: 20;
margin: 0;
}

span.proj-cat-table h2 {
vertical-align: middle;
text-align: center;
/*display: table-cell;*/
width: 100%;
text-transform: uppercase;
letter-spacing: 1px;
color: #fff;
text-shadow: 1px 1px 1px rgba(0,0,0,0.6);
}


@keyframes zoom-in {
  0% {
   -webkit-transform: scale(0.0);
   -ms-transform: scale(0.0);
   transform: scale(0.0);
  } 
  20% {
   -webkit-transform: scale(0.1);
   -ms-transform: scale(0.1);
   transform: scale(0.1);
  } 
  100% {
    -webkit-transform: scale(1.01);
    -ms-transform: scale(1.01);
    transform: scale(1.01);
  }
}


.is-animated:not(.loaded) {
-webkit-transform: scale(0.0);
-ms-transform: scale(0.0);
transform: scale(0.0);
}

.is-animated.loaded {
  -webkit-animation: 1s zoom-in;
  animation: 1s zoom-in;
}



@media only screen and (max-width:920px) {

	body.archive.tax-sector_category,
	body.post-type-archive-projects,
	body.single-projects {
	padding-top: 0;	
	}
	
	body > main > div.filter-wrap {
	display: none;
	}	
	
	div.mobile-project-filter-wrap {
	display: flex;
	padding: 30px 0 0;
	}
	
	div.mobile-project-filter-wrap > ul.mobile {
	display: none;
	}
	
	div.mobile-project-filter-wrap div.slicknav_menu {
	width: 100%;
	background: #ebebea;	
	}
	
	div.mobile-project-filter-wrap > div > a > span.slicknav_icon {
	display: none;	
	}
	
	div.mobile-project-filter-wrap > div > a > span.slicknav_menutxt {
	font-weight: 400;
    text-shadow: none;
    text-transform: uppercase;
	color: #333;
	}
	
	div.mobile-project-filter-wrap > div > a {
	background: none;
	float: left;
	}
	
	div.mobile-project-filter-wrap > div > ul > li.filter-item > a {
	color: #405464;
	text-transform: uppercase;
	padding-left: 25px;
	}
	
	div.mobile-project-filter-wrap > div > ul > li > a {
		
	}
	
	div.mobile-project-filter-wrap .slicknav_nav a:hover {
	background: #fff;	
	}
	
}


/*---------------------------------------------------------------------------------------------------------------------------*/
/*	Project Single
/*---------------------------------------------------------------------------------------------------------------------------*/


body.single-projects main {
overflow: hidden;	
}

body.single-projects article {
max-width: 1200px;
padding: 30px 60px 100px;
width: 100%;
vertical-align: top;
margin: 0 auto;
}

body.single-projects article img.project-logo {
max-height: 120px;
max-width: 320px;
width: auto;
height: auto;
display: inline-block;
}

body.single-projects article div.text-logo {
max-width: 480px;
width: auto;
display: inline-block;
margin-top: 20px;
}

body.single-projects article div.text-logo label,
body.single-projects article div.text-logo h1 {
display: inline;
font-size: 40px;
line-height: 1;
font-weight: 300;
color: #5f8eb5;	
}

body.single-projects article aside {
margin: 30px 0;
padding: 6px;
font-size: 0;
overflow: hidden;
position: relative;
width: 98vw;
left: 50%;
margin-left: -49vw;
display: table;
}

body.single-projects div.proj-img-wrap {
width: 100%;
height: auto;
position: relative;
margin: 0 auto;
max-width: 1200px;
position: relative;
}


body.single-projects div.proj-img-wrap::before,
body.single-projects div.proj-img-wrap::after {
content: '';
z-index: 10;
position: absolute;
left: 0;
width: 100%;
height: 6px;
background: #fff;	
}

body.single-projects div.proj-img-wrap::before {
top: 0;	
}

body.single-projects div.proj-img-wrap::after {
bottom: 0;	
}

body.single-projects div.proj-img-wrap table {
position: relative;
left: 0;
top: 0; 
border: solid 0px red;
width: 100%;
}

body.single-projects div.proj-img-wrap table td {
border: solid 3px #fff;
overflow: hidden;
  padding: 0; /* mimics cellpadding="0" */
}

body.single-projects div.proj-img-wrap table td {
  padding: 0;
  vertical-align: top; /* ensures td contents don't shift */
}

body.single-projects div.proj-img-wrap table td .td-aspect-wrapper {
  aspect-ratio: 2 / 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  position: relative;
}

body.single-projects div.proj-img-wrap table td .td-aspect-wrapper picture,
body.single-projects div.proj-img-wrap table td .td-aspect-wrapper img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* <- this is the key */
  display: block;
}


/*
body.single-projects div.proj-img-wrap table td a {
background-size: cover;
background-position: center center;
transition: all 0.3s ease 0s;
width: 100%;
height: 0;
padding-top: 50%;
display: block;
}

body.single-projects div.proj-img-wrap table td a:hover {
transform: scale(1.2);
cursor: -moz-zoom-in; 
cursor: -webkit-zoom-in; 
cursor: zoom-in;
}
*/

body.single-projects div.proj-img-wrap table.project-img-4 td.cell-1 .td-aspect-wrapper {
aspect-ratio: 4 / 3;	
}

body.single-projects div.proj-img-wrap table.project-img-4 td.cell-2 .td-aspect-wrapper {
aspect-ratio: 2 / 1;
}

body.single-projects div.proj-img-wrap table.project-img-5 td.cell-2 .td-aspect-wrapper,
body.single-projects div.proj-img-wrap table.project-img-5 td.cell-3 .td-aspect-wrapper {
aspect-ratio: 4 / 2.75;
}

body.single-projects div.proj-img-wrap table.project-img-6 td.cell-1 .td-aspect-wrapper {
aspect-ratio: 2 / 1.11;		
}

body.single-projects div.proj-img-wrap table.project-img-6 td.cell-6 .td-aspect-wrapper {
aspect-ratio: 2 / 0.9;
}

body.single-projects div.proj-img-wrap table.project-img-9 td.cell-1 .td-aspect-wrapper {
  aspect-ratio: 2 / 1.2;
}

body.single-projects div.proj-img-wrap table.project-img-9 td.cell-2 .td-aspect-wrapper,
body.single-projects div.proj-img-wrap table.project-img-9 td.cell-3 .td-aspect-wrapper {
  aspect-ratio: 2 / 1.08;
}


body.single-projects div.proj-img-wrap table.project-img-9 td.cell-6 .td-aspect-wrapper,
body.single-projects div.proj-img-wrap table.project-img-9 td.cell-9 .td-aspect-wrapper {
  aspect-ratio: 2 / 0.9;
}

body.single-projects div.proj-img-wrap table.project-img-9 td.cell-4 .td-aspect-wrapper,
body.single-projects div.proj-img-wrap table.project-img-9 td.cell-5 .td-aspect-wrapper,
body.single-projects div.proj-img-wrap table.project-img-9 td.cell-7 .td-aspect-wrapper,
body.single-projects div.proj-img-wrap table.project-img-9 td.cell-8 .td-aspect-wrapper {
  aspect-ratio: 2 / 0.99;
}	


body.single-projects div.proj-img-wrap table td a {
  display: block;
  overflow: hidden;
}

body.single-projects div.proj-img-wrap table td a picture,
body.single-projects div.proj-img-wrap table td a img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

body.single-projects div.proj-img-wrap table td a:hover picture img {
  transform: scale(1.1);
  cursor: zoom-in;
}

.proj-img-wrap table {
  table-layout: fixed;
  width: 100%;
  height: 100%;
}

.proj-img-wrap table.project-img-4 tr {
  height: 33.33%; /* Or set one of them to 34% if needed */
}

.proj-img-wrap td {
  position: relative;
  padding: 0;
}

.proj-img-wrap td a {
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

.proj-img-wrap td a picture,
.proj-img-wrap td a img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}


body.single-projects article .project-video {
width: 100%;
position: relative;
padding-bottom: 52.75%;
height: 0;
overflow: hidden;
margin-bottom: 2%;
}

body.single-projects article .project-video iframe {
position: absolute;
top: 0;
left: 0;
border: 0;
width: 100%;
height: 100%;
}

/*article h1 {
font-size: 1.8vw;
font-weight: 400;
line-height: 1.5vw;	
margin-bottom: 15px;	
}*/

body.single-projects article .proj-highlights {
max-width: 900px;
margin: 0 auto;	
}

body.single-projects article p {
font-weight: 300;
text-align: justify;
margin-bottom: 25px;
}

ul.project-specs {
margin-bottom: 0;
display: inline-block;
vertical-align: top;
padding-left: 40px;
text-transform: uppercase;
width: auto;
}

ul.project-specs li,
ul.project-specs li h1 {
font-weight: 300;
font-size: 16px;
line-height: 1.2;	
}

ul.project-specs li h1 {
display: inline;
text-transform: none;
}

article h3 {
color: #de6126;
margin-bottom: 8px;
font-size: 20px;
font-weight: 300;
letter-spacing: 1px;
text-transform: uppercase;
}

ul.project-specs li label {
width: 110px;
text-align: right;
display: inline-block;
padding-right: 5px;
font-weight: 600;
color: #de6126;
text-transform: capitalize;
}

ul.services {
}

ul.services li {
min-width: 180px;
vertical-align: top;
font-weight: 300;
font-size: 14px;
line-height: 20px;
margin-bottom: 5px;
text-transform: lowercase;
position: relative;
padding-left: 20px;
}

ul.services li::before {
content: '';
background-image: url(../img/icons/v-icon-li.png);
background-size: 14px 14px;
height: 14px;
width: 14px;
display: block;
position: absolute;
left: 0;
top: 4px;
}

#mobile-slick {
left: -6%;
width: 112%;
display: none;
margin-bottom: 20px;
}

#mobile-slick .slick-slide {
height: auto;	
}

.slick-prev,
.slick-next {
font-size: 0;	
position: absolute;
bottom: 5px;
cursor: pointer;
opacity: 0.6;
transition: all 0.3s ease 0s;
height: 100px;
border-style: solid;
background: none;
padding: 0;
z-index: 2000;
outline: none;
top: 50%;
margin-top: -50px;
}

.slick-prev:hover,
.slick-next:hover {
opacity: 1.0;	
}

.slick-prev {
left: 5px;
border-width: 50px 30px 50px 0;
border-color: transparent #415464 transparent transparent;
}

.slick-next {
right: 5px;
border-width: 50px 0 50px 30px;
border-color: transparent transparent transparent #415464;
}


.project-summary {
line-height: 34px;
height: 34px;
border: solid 1px #efefef;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
position: relative;
padding-left: 45px;
padding-right: 10px;
display: inline-block;
margin: 30px auto 20px;
}

.project-summary a {
color: #de6126;	
}

.project-summary a:hover {
text-decoration: underline;	
}

.project-summary i.fa {
position: absolute;
left: 0;
top: 0;
width: 32px;
height: 32px;
color: #fff;
background: #de6126;
text-align: center;
font-size: 20px;
line-height: 32px;
-webkit-border-top-left-radius: 3px;
-webkit-border-bottom-left-radius: 3px;
-moz-border-radius-topleft: 3px;
-moz-border-radius-bottomleft: 3px;
border-top-left-radius: 3px;
border-bottom-left-radius: 3px;
}

.project-summary a {
text-decoration: none;
}

.more-info-wrap {
text-align: center;	
}

.more-info-wrap button {
margin: 0 auto;
border: solid 0px #6a86b8;
height: 46px;
line-height: 46px;
padding: 0 40px;
-webkit-border-radius: 23px;
-moz-border-radius: 23px;
border-radius: 23px;
text-align: center;
font-size: 18px;
vertical-align: middle;
display: inline-flex;
color: #fff;
background: #de6126;
cursor: pointer;
opacity: 1;
transition: all 0.3s ease 0s;
}


.more-info-wrap button:hover {
opacity: 0.6;	
}

.more-info-wrap button::after {
font-family: 'Dashicons';
content: "\f14c";
margin-left: 6px;
font-weight: 300;
}



@media only screen and (max-width:1000px) {

	body.post-type-archive-projects main a {
	flex: 0 0 50%;
	}

}



@media only screen and (max-width:980px) {
	
	ul.project-specs {
	padding-top: 15px;
	}
	
	.slick-prev {
	left: 0;
	}
	
	.slick-next {
	right: 0;
	}	
	
}

@media only screen and (max-width:900px) {

	body.post-type-archive-projects, body.single-projects {
    padding-top: 0;
	}

	body.single-projects article > div {
	width: 100%;
	} 
	
	#mobile-slick {
	display: block;	
	}
	
	img.project-logo,
	ul.project-specs {
	display: inline-block;
	}
	
	img.project-logo {
	width: 35%;
	vertical-align: top;
	}

	ul.project-specs {
	width: 50%;	
	}
	
}

@media only screen and (max-width:800px) {
	
	ul.services li {
	width: 100%;	
	}
	
	.slick-prev {
	border-width: 50px 25px 50px 0;
	}
	
	.slick-next {
	border-width: 50px 0 50px 25px;
	}

}


@media only screen and (max-width:720px) {
	
	body.single-projects article img.project-logo {
	margin: 0 auto;
	display: block;	
	}


	ul.project-specs {
	width: 100vw;
	padding-left: 0;
	left: 50%;
	position: relative;
	margin-left: -50vw;
	}	
	
	ul.project-specs li label {
	width: 50%;	
	}
	
	body.single-projects article > div {
	padding: 0 10px;	
	}
	
	.more-info-wrap button {
	margin-top: 15px;	
	}
	
}

@media only screen and (max-width:640px) {
	
	body.post-type-archive-projects main a {
	/*flex: 0 0 100%;*/
	}

	body.single-projects article {
	padding-left: 25px;
	padding-right: 25px;	
	}
	
	body.single-projects article img.project-logo {
	display: block;
	max-width: 280px;
	width: 100%;
	margin: 0 auto;	
	}

	ul.project-specs {
	width: 100%;
	padding-left: 0;
	}
	
	ul.project-specs li {
	font-size: 15px;
	margin-bottom: 3px;	
	}
	
	body.single-projects article aside .slider-nav {
	padding-left: 8%;
	padding-right: 8%;
	}


}

@media only screen and (max-width:600px) {
	
	body.single-projects article aside .slider-nav {
	padding-left: 0;
	padding-right: 0;
	}
	
}
	
	
	
.proj-img-wrap picture {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  overflow: hidden;
}

.proj-img-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}	

