/*
.titleArea {
	pading-top:16px;
	padding-bottom: 8px;
}
.titleArea h1 {
	margin-bottom: 0;
}
*/
.heroWrap {
	width: 100%;
	height: auto;
	aspect-ratio: 2/3;
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.heroImgWrap {
	position: fixed;
	left: 0;
	width: 100%;
	height: auto;
	aspect-ratio: 2/3;
	z-index: -10;
	overflow: hidden;
	align-items: center;
	background-color: var(--navyBlue);
}
.heroImgWrap img {
	width: 100%;
	height: auto;
	position: relative;
	opacity: 0;
	will-change: opacity;
	transition: opacity 3s ease-out .0625s;
}
.heroImgWrap img.opaque {
	opacity: 1;
}
.heroImgWrap.overlay {
	background-color: rgba(0,0,0,.25);
}
/*.heroWrap .frostedLogoCircleAnimated {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	mask-image: url('../images/jsi-logo-circle-mask.svg');
	mask-size: 130%;
	mask-repeat: no-repeat;
	mask-position: right center;
	backdrop-filter: blur(8px) brightness(65%);
	opacity: 0;
	will-change: mask-position, opacity;
	transition: mask-position 5s ease-out, opacity 5s ease-out;
}
.heroWrap .frostedLogoCircleAnimated.maskAnimate {
	mask-position: left center;
	opacity: 1;
}*/
.heroContent {
	display: flex;
	flex-direction: column;
	width: 90%;
	padding: 1rem;
	text-align: center;
	align-items: center;
	justify-content: center;
	position: relative;
	/* border-top: 2px solid transparent;
	border-bottom: 2px solid transparent;
	border-radius: 16px; */
	border-top-right-radius: 24px;
	border-bottom-left-radius: 24px;
	border-image: linear-gradient(left to right, rgba(234, 180, 97, 0), rgba(234, 180, 97, 1) 50%, rgba(234, 180, 97, 0));
	background: radial-gradient(at top right, #7dbef74d, #21212e70);
	backdrop-filter: blur( 4px ) contrast(80%) brightness(85%);
	-webkit-backdrop-filter: blur( 4px ) contrast(80%) brightness(85%);
	box-shadow: 0 8px 32px 0 rgba( 31, 38, 135, 0.25 );
	will-change: background;
	transition: background 5s ease-out;
}

.heroContent h1 {
	font-size: 38px;
	font-family: dispSerifReg;
	z-index: 50;
}
.heroContent p {
	font-size: 16px;
	font-family: sansBold;
	letter-spacing: 1px;
	text-transform: uppercase;
	font-weight: 400;
	display: inline;
	width: auto;
	margin-bottom: 8px;
	z-index: 50;
}
.heroContent .circleEmblem {
	position: absolute;
	top: -32px;
	left: 50%;
	transform: translateX(-50%);
	width: 64px;
	aspect-ratio: 1/1;
	z-index: 50;
}
.heroContent .circleEmblem img {
	max-width: 100%;
}
.frostedLogoCircle {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	border-top-right-radius: 24px;
  border-bottom-left-radius: 24px;
	mask-image: url('../images/jsi-logo-circle-mask.svg');
	mask-size: 175%;
	mask-repeat: no-repeat;
	mask-position: -32px center;
	backdrop-filter: blur(8px);
}
.topLeftCornerOuter {
	position: absolute;
	top: -8px;
	left: -8px;
	width: 48px;
	height: 48px;
	border-top: 4px solid var(--gold);
	border-left: 4px solid var(--gold);
}
.bottomRightCornerOuter {
	position: absolute;
	bottom: -8px;
	right: -8px;
	width: 48px;
	height: 48px;
	border-right: 4px solid var(--gold);
	border-bottom: 4px solid var(--gold);
}
.topLeftCornerInner {
	position: absolute;
	top: 0;
	left: 0;
	width: 32px;
	height: 32px;
	border-top: 2px solid var(--gold);
	border-left: 2px solid var(--gold);
	filter: drop-shadow(1px 1px 3px rgba(0,0,0,0.5));
}
.bottomRightCornerInner {
	position: absolute;
	bottom: 0;
	right: 0;
	width: 32px;
	height: 32px;
	border-right: 2px solid var(--gold);
	border-bottom: 2px solid var(--gold);
	filter: drop-shadow(-1px -1px 3px rgba(0,0,0,0.5));
}
.fullWidthHero .imageLeadInTxt, .imageLeadInTxt {
	padding: 32px;
  position: absolute;
  bottom: 20px;
  width: 90%;
  background-color: #121f35cc;
  backdrop-filter: blur(8px);
  display: flex;
  flex-direction: column;
}
.heroWrap .imageLeadInTxt p, .heroWrap .imageLeadInTxt h1, .heroWrap .imageLeadInTxt .goldRule {
	position: relative;
	z-index: 50;
}
section {
	padding-top: 64px;
	padding-bottom: 64px;
}
section.galleryOutter {
	padding: 64px 8px;
	border-top: 3px solid var(--gold);
}

.fullWidthHero {
	padding: 32px;
}
.fullWidthHero .imageLeadInImg {
	position: relative;
	padding: 0;
	outline: 2px solid var(--gold);
  outline-offset: 5px;
  clip-path: polygon(3% 0%, 97% 0%, 100% 6%, 100% 94%, 96% 100%, 3% 100%, 0% 94%, 0% 6%);
  margin-bottom: 16px;
}
.fullWidthHero .imageLeadInImg img {
	width: 100%;
}
.fullWidthHero .goldRule, .heroWrap .goldRule {
	width: 36px;
}
.fullWidthHero .imageLeadInTxt, .imageLeadInTxt {
	border: 1px solid var(--cremaAgriaLighterTrans75);
	border-top-right-radius: 16px;
  border-bottom-left-radius: 16px;
	box-shadow: 2px 2px 12px rgba(0,0,0,0.625);
}
body section .imageLeadInTxt p, body section .imageLeadInTxt h1 {
	z-index: 10;
}
h2 {
	font-size: 3rem;
}
.fullWidthHero h2 {
	margin-bottom: 0;
}
.fullWidthHero p:last-of-type {
	margin-bottom: 0;
}
.goldRule {
  display: inline-block;
  height: 1px;
  border-top: 1px solid var(--gold);
  margin-right: .5rem;
  flex-grow: 1;
}
.titleArea .goldRule {
  min-width: 32px;
}
fieldset legend {
  font-size: 15px;
}

section.service .row {
	margin: 0;
	outline: 1px solid var(--gold);
	outline-offset: -12px;
	margin-bottom: 16px;
}
section.service .row .col-12 {
	padding: 0;
}
section.service .row .col-12.imgWrap {
	position: relative;
}
section.service .row .col-12.infoWrap {
	display: flex;
	flex-direction: column;
	padding: 32px;
}
section.service .row .col-12.infoWrap a.icon-link {
	text-decoration-color: var(--cremaAgria);
}
section.service .row .col-12:not(.infoWrap) img {
	width: 100%;
	outline: 1px solid var(--gold);
  outline-offset: -12px;
}
section.service .row .col-12:not(.infoWrap) h3 {
	font-size: 32px;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	padding: 16px 0 8px 16px;
	backdrop-filter: brightness(50%) blur(5px);
}


@media (max-width: 400px) {
	body section .imageLeadInTxt {
		width: 100%;
		height: auto;
		bottom: unset;
	}
}





@media (min-width: 768px) {
	.heroWrap {
		align-items: center;
		aspect-ratio: 1/1;
	}
	.heroImgWrap {
		aspect-ratio: 1/1;
	}
	.heroContent {
		width: 66.666%;
		padding: 1.625rem;
	}
	.frostedLogoCircle {
		mask-size: 200%;
	}
	.heroContent h1 {
		font-size: 48px;
	}
	.heroContent p {
		font-size: 17px;
	}
}




@media (min-width: 992px) {
	.heroWrap {
		aspect-ratio: 3/1.625;
	}
	.heroImgWrap {
		aspect-ratio: 3/1.625;
	}
	.fullWidthHero .imageLeadInTxt, .imageLeadInTxt {
		width: 40%;
	}
	.heroContent {
		width: 50%;
		height: auto;
		aspect-ratio: 16/7;
		margin-bottom: 16px;
	}
	.heroContent h1 {
		font-size: 42px;
	}
	section.galleryOutter {
		padding: 64px 16px;
	}
	section.service .row .col-lg-6.infoWrap:nth-of-type(2n+1) {
		padding-right: 0;
	}
	.fullWidthHero {
		padding: 32px;
	}
	.leadership .staffPortrait {
		position: relative;
		top: -64px;
	}
}




@media (min-width: 1200px) {

	.heroWrap, .heroImgWrap {
		aspect-ratio: 16/8;
	}
	.heroContent {
		width: 42%;
	}
	.heroContent h1 {
		font-size: 56px;
	}
	.heroContent p {
		font-size: 16px;
	}
	section.galleryOutter {
		padding: 64px;
	}
	section.service .row {
		position: relative;
		margin-bottom: 64px;
		overflow: hidden;
		padding: 0 32px;
	}
	.infoWrap h3 {
		font-size: 3rem;
	}
	.infoWrap .goldRule {
		flex-grow: 0;
	}
	section.service .row .infoWrap {
		position: absolute;
	  top: 12px;
	  left: 12px;
	  width: 36%;
	  height: calc(100% - 24px);
	  backdrop-filter: blur(5px) brightness(20%) contrast(80%);
	  z-index: 100;
	}
	section.service .row:has(.infoWrap):nth-of-type(3) .infoWrap {
		left: unset;
	  right: 24px;
	}
	section.service .row .col-12:not(.infoWrap) img {
		outline: unset;
	}
	.fullWidthHero .imageLeadInTxt, .imageLeadInTxt {
		bottom: unset;
	}
	.fullWidthHero .imageLeadIn {
		align-items: center;
	}
	.horizFilagree-1 {
		height: 60px;
		background-size: contain;
	}
}



@media (min-width: 1440px) {
	section.galleryOutter {
		border-top: 4px solid var(--gold);
	}
	h2 {
		font-size: 2.875rem;
	}
	.leadership .staffPortrait {
		position: relative;
		top: -128px;
	}
	.fullWidthHero .imageLeadInTxt, .imageLeadInTxt {
		max-width: 600px;
	}
}



@media (min-width: 1920px) {
	.heroContent {
	    width: 32%;
	  }
	.heroContent h1 {
		font-size: 64px;
	}
}



@media (min-width: 2300px) {
	.heroWrap, .heroImgWrap {
		height: 87vh;
	}
	.heroContent h1 {
		font-size: 72px;
	}
	.leadership .staffPortrait {
		position: relative;
		top: -256px;
	}
}






/**
 * 
 * 
 * 
 * END ATF
 * 
 * 
 * 
 **/


.portfolioWrap .row {
	padding: 0 15px;
}
.coverImgWrap {
	padding: 8px;
	overflow: hidden;
	backdrop-filter: blur(3px) brightness(100%);
	will-change: backdrop-filter;
	transition: backdrop-filter .3s ease-out;
}
.coverImgInnerWrap {
	border: 1px solid var(--gold);
	overflow: hidden;
	will-change: border;
	transition: border .3s ease-out;
}
.coverImgWrap .coverImgInnerWrap a {
	position: relative;
	display: inline-block;
	height: 100%;
}
.coverImgWrap .coverImgInnerWrap img {
	transform: translate3d(0px, 0px, 0px) scale(100%);
	will-change: transform;
	transition: transform 1s ease-out;
}
.coverImgWrap .galleryTitleBand {
	position: absolute;
	bottom: 0;
	width: 100%;
	font-size: 1.5rem;
	color: var(--cremaAgriaLighter);
	padding: 8px 0 4px 0;
	background-color: var(--darkGreyTrans25);
	transition: background-color .3s ease-out;
}
.coverImgWrap:hover {
	backdrop-filter: brightness(170%);
}
.coverImgWrap:hover .coverImgInnerWrap {
	border: 1px solid var(--goldLighter);
}
.coverImgWrap:hover .coverImgInnerWrap img {
	transform: scale(1.02);
}
.coverImgWrap:hover .galleryTitleBand {
	background-color: var(--navyBlue);
}

.galleryOutter .grid-item.imageWrap, .galleryOutter .imageWrap {
	padding: 8px;
	overflow: hidden;
	backdrop-filter: blur(3px) brightness(100%);
	transition: border .3s ease-out, backdrop-filter .3s ease-out;
}
.galleryOutter .grid-item.imageWrap, .galleryOutter .imageWrap:hover {
	backdrop-filter: blur(3px) brightness(170%);
}
.galleryOutter .grid-item.imageWrap a img, .galleryOutter .imageInnerWrap a img {
	position: relative;
	border: 1px solid var(--gold);
	box-shadow: 0px 0px 0px transparent;
	z-index: initial;
	transform: translate3d(0,0,0) scale(1.0);
	transition: border .3s ease-out, box-shadow .3s ease-out, z-index .3s ease-out, transform 2.5s ease-out;
}
.galleryOutter .grid-item.imageWrap a, .galleryOutter .imageInnerWrap a {
	position: relative;
	height: 100%;
  width: 100%;
  display: inline-block;
}
.galleryOutter .grid-item.imageWrap a img:hover, .galleryOutter .imageInnerWrap a img:hover {
	transform: scale(1.02);
	box-shadow: 10px 10px 35px rgba(0,0,0,.75);
	z-index: 500;
}

.grid-item.imageWrap a div, .imageWrap a div {
	position: absolute;
	width: 100%;
	height: 40px;
	bottom: 3px;
	left: 3px;
}
.leadership .staffBio {
	padding: 0 32px;
}
.leadership .staffBio h2 + p {
	margin-bottom: 0;
} 
.leadership .staffPortrait {
	padding: 16px;
}

@media (min-width: 992px) {
	.portfolioWrap .row {
		padding: 0 32px;
	}
	.leadership .staffBio {
		padding: 0 16px;
	}
}




@media (min-width: 1920px) {
	.portfolioWrap .row {
		padding: 0 64px;
	}
}