#header .header-body {
    display: flex;
    flex-direction: column;
    background: #283a8a;
    transition: min-height 0.3s ease;
    width: 100%;
    border-top: 3px solid #EDEDED;
    border-bottom: 1px solid transparent;
}
    
.bg-color-primary, .bg-primary {
    background-color: #283a8a !important;
}

#header .header-top {
    display: flex;
    align-items: center;
    border-bottom: 2px solid rgba(255, 255, 255, 0.2);
    min-height: 47px;
}

#skip-to-content {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background: #283a8a;
  padding: 0.5em 1em;
  color: #fff;
  z-index: -1;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  font-size: 1.2em;
  box-shadow: 0px 10px 10px rgb(0 0 0 / 50%);
  opacity: 0;
  transition: opacity 0.3s ease-out;
}

#skip-to-content:focus {
  opacity: 1;
  z-index: 999;
}

.slick-dots {
  bottom: 20px;
}

.slick-dots li button {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: rgba(255,255,255,0.5);
  border: solid 1px #969696;
}

.slick-dots li.slick-active button {
  background: #1c5fa8;
}

.slick-prev, .slick-next {
  z-index: 1;
  font-size: 0; /* Hide text */
  width: 40px;
  height: 40px;
  /* background: rgba(0,0,0,0.5); */
  border: none;
  color: white;
  margin: 0 40px;
}

.slick-dots li button:before {
    font-family: slick;
    font-size: 6px;
    line-height: 20px;
    position: absolute;
    top: 0;
    left: 0;
    width: 20px;
    height: 20px;
    content: '•';
    text-align: center;
    opacity: .25;
    color: transparent !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-dots li.slick-active button:before {
    opacity: 1;
    color: transparent !important;
}

.slick-dotted.slick-slider {
    margin-bottom: 0;
}

.slick-next:before, .slick-prev:before {
    font-family: slick;
    font-size: 35px;
    line-height: 1;
    opacity: .75;
    color: #fff;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.custom-svg-1 {
    position: absolute;
    left: 0;
    top: -100px;
    width: 750px;
}

.custom-background-style-1 {
    background-size: cover;
}

.custom-section-background .container:before {
		display: none;
}

@media (min-width: 576px) {
    .py-sm-5 {
        padding-top: 3rem !important;
        padding-bottom: 0 !important;
    }
}

.custom-icon-style-1 {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 175px;
    height: 175px;
    margin-bottom: 20px;
}

.custom-icon-style-1:before {
    border-color: var(--primary);
}

.custom-icon-box-style-1:hover .custom-icon-style-1:before {
		background: transparent;
}

.simple-search .form-control {
    border-radius: 0;
    border-color: #000;
    border-right: 0;
}

.simple-search .form-control::placeholder {
    color: #666;
}

.simple-search .btn {
    border: 0;
    box-shadow: none !important;
    border-radius: 0;
    border: 1px solid #000;
    border-left: 0;
}

.map-container {
    width: 100%;
    max-height: 500px;
}

.map-container iframe {
    width: 100%;
    height: 500px;
    border: 0;
}

#form {
    display: block;
    margin-left: auto;
    margin-right: auto;
    max-width: 800px;
}

.form-control::placeholder {
  color: #555 !important;
}

/* Uniform logo container */
.logo-box{
    height:150px;                 /* uniform logo area */
    border:1px solid #ddd;        /* light border */
    border-radius:.5rem;
    background:#fff;
    padding:35px;                 /* inner padding so logo never touches border */
    display:flex;
    align-items:center;           /* vertical center */
    justify-content:center;       /* horizontal center */
    overflow:hidden;              /* hard-stop any overflow */
}
.logo-box img{
    width:100%;
    height:100%;
    object-fit:contain;           /* keep proportions, fit inside box */
    display:block;
}

#portfolioGrid {
		margin: 0.5vw;
}

#portfolioGrid li {
		list-style: none;
}

#portfolioGrid.portfolioGridFullNoMargins {
		margin: 0;
}

#portfolioGrid.portfolioGridFullNoMargins .portfolio-grid-item {
		padding: 0;
}

.portfolio-grid-item {
		padding: 0.5vw;
}

.portfolio-grid-item .thumb-info {
		border: none;
}

.portfolio-grid-item .thumb-info:hover .thumb-info-wrapper .thumb-info-background {
		transform: scale(1.1);
}

.portfolio-grid-item .thumb-info:hover .thumb-info-wrapper .thumb-info-title {
		opacity: 1;
		transform: translate3d(-50%, 50%, 0px);
}

.portfolio-grid-item .thumb-info:hover .thumb-info-wrapper .thumb-info-title span {
		opacity: 1;
		transform: translate3d(0, 0, 0);
}

.portfolio-grid-item .thumb-info:hover .thumb-info-wrapper .thumb-info-plus {
		opacity: 1;
		width: 30%;
}

.portfolio-grid-item .thumb-info:hover .thumb-info-wrapper .thumb-info-plus::after {
		transform: translate3d(-50%, -50%, 0) rotate(90deg);
}

.portfolio-grid-item .thumb-info .thumb-info-wrapper {
		background-size: cover;
		width: 100%;
}

.portfolio-grid-item .thumb-info .thumb-info-wrapper.size-1 {
		height: 33.5vw;
}

.portfolio-grid-item .thumb-info .thumb-info-wrapper.size-2 {
		height: 16.25vw;
}

.portfolio-grid-item .thumb-info .thumb-info-wrapper.size-3 {
		height: 12.25vw;
}

.portfolio-grid-item .thumb-info .thumb-info-wrapper.size-4 {
		height: 19.25vw;
}

.portfolio-grid-item .thumb-info .thumb-info-wrapper:after {
		background: rgba(10, 12, 36, 0.5);
		top: 0;
		right: 0;
		bottom: 0;
		left: 0;
}

.portfolio-grid-item .thumb-info .thumb-info-wrapper .thumb-info-background {
		position: absolute;
		top: 0;
		left: 0;
		background-size: cover;
		background-position: center;
		width: 100%;
		height: 100%;
		transition: ease all 0.3s;
}

.portfolio-grid-item .thumb-info .thumb-info-wrapper .thumb-info-title {
		width: 90%;
		background: transparent;
		bottom: 50%;
		left: 50%;
		right: auto;
		opacity: 0;
		text-transform: none;
		margin: 0;
		line-height: 1.4;
		font-size: 30px;
		font-weight: 300 !important;
		text-shadow: none;
		letter-spacing: -1px;
		transition: all 0.3s ease;
		transform: translate3d(-50%, 40%, 0px);
}

.portfolio-grid-item .thumb-info .thumb-info-wrapper .thumb-info-title span {
		display: block;
		opacity: 0;
		text-transform: none;
		font-size: 16px;
		transform: translate3d(0, -40%, 0px);
		transition: all 0.3s ease 0.3s;
}

.portfolio-grid-item .thumb-info .thumb-info-wrapper .thumb-info-plus {
		opacity: 0;
		position: absolute;
		width: 10%;
		top: 50%;
		left: 50%;
		z-index: 2;
		transform: translate3d(-50%, -50%, 0);
		transition: ease all 0.3s;
}

.portfolio-grid-item .thumb-info .thumb-info-wrapper .thumb-info-plus::before, .portfolio-grid-item .thumb-info .thumb-info-wrapper .thumb-info-plus::after {
		content: '';
		display: block;
		position: absolute;
		width: 100%;
		top: 50%;
		left: 50%;
		border-top: 1px solid #FFF;
		transform: translate3d(-50%, -50%, 0);
}

.portfolio-grid-item .thumb-info .thumb-info-wrapper .thumb-info-plus::after {
		transform: translate3d(-50%, -50%, 0) rotate(0deg);
}

@media (max-width: 991px) {
		#portfolioGrid {
				margin: 1.5vw;
		}
		.portfolio-grid-item {
				padding: 1.5vw;
		}
		.portfolio-grid-item .thumb-info .thumb-info-wrapper.size-1 {
				height: 47.5vw;
		}
		.portfolio-grid-item .thumb-info .thumb-info-wrapper.size-2 {
				height: 22.25vw;
		}
		.portfolio-grid-item .thumb-info .thumb-info-wrapper.size-3 {
				height: 20.25vw;
		}
		.portfolio-grid-item .thumb-info .thumb-info-wrapper.size-4 {
				height: 30.25vw;
		}
}

@media (max-width: 767px) {
		#portfolioGrid:not(.portfolioGridFullNoMargins) {
				margin: 0vw;
		}
		#portfolioGrid:not(.portfolioGridFullNoMargins) li:last-child .portfolio-grid-item {
				padding: 4.5vw 4.5vw 4.5vw 4.5vw;
		}
		.portfolio-grid-item {
				padding: 4.5vw 4.5vw 0vw 4.5vw;
		}
		.portfolio-grid-item .thumb-info .thumb-info-wrapper.size-1, .portfolio-grid-item .thumb-info .thumb-info-wrapper.size-2, .portfolio-grid-item .thumb-info .thumb-info-wrapper.size-3, .portfolio-grid-item .thumb-info .thumb-info-wrapper.size-4 {
				height: 50vw;
		}
}

@media (max-width: 576px) {
		.portfolio-grid-item {
				padding: 4.5vw 4.5vw 0vw 4.5vw;
		}
		.portfolio-grid-item .thumb-info .thumb-info-wrapper.size-1, .portfolio-grid-item .thumb-info .thumb-info-wrapper.size-2, .portfolio-grid-item .thumb-info .thumb-info-wrapper.size-3, .portfolio-grid-item .thumb-info .thumb-info-wrapper.size-4 {
				height: 70vw;
		}
}

#portfolioGrid {
    display: flex !important;
    flex-wrap: wrap !important;
    margin: 0.5vw;
}

#portfolioGrid .isotope-item {
    position: relative !important;
    left: auto !important;
    top: auto !important;
}

.portfolio-grid-item .thumb-info-wrapper {
    height: auto !important;
}

.partner-logos .logo-wrap {
    height: 72px;                 
    display: flex;
    align-items: center;
    justify-content: center;
}
.partner-logos img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: 100%;
    object-fit: contain;
    image-rendering: -webkit-optimize-contrast;
}
@media (min-width: 576px) { .partner-logos .logo-wrap { height: 84px; } }
@media (min-width: 768px) { .partner-logos .logo-wrap { height: 96px; } }
@media (min-width: 992px) { .partner-logos .logo-wrap { height: 110px; } }


    @media (max-width: 991px) {
    #header .header-nav-features .header-nav-features-dropdown.show {
        top: 0;
        box-shadow: none;
    }
}

/* --- Band: Contact Us --- */
.band-contact-us .content-wrapper {
  max-width: 520px;
}

/* Secondary blue btn to match site palette */
.btn-blue {
  background-color: #1c5fa8;
  border-color: #1c5fa8;
  color: #fff;
}
.btn-blue:hover,
.btn-blue:focus {
  background-color: #164b86;
  border-color: #164b86;
  color: #fff;
}

/* Right half background image with subtle overlay */
/* Background image container */
.band-contact-us .band-contact-us-bg {
  position: absolute;
  inset: 0;
  background-image: var(--band-contact-bg);
  background-size: cover;
  background-position: center;
  z-index: 0;
}

/* Gradient overlay */
.band-contact-us .band-contact-us-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.9) 0%,   /* darker left side */
    rgba(0,0,0,0.6) 50%,  /* mid fade */
    rgba(0,0,0,0.0) 100%  /* fully transparent right */
  );
  z-index: 1;
}

/* Make sure the text sits above overlay */
.band-contact-us .col-lg-6 .content-wrapper {
  position: relative;
  z-index: 2;
}

/* Spacing tweaks for smaller screens */
@media (max-width: 991.98px) {
  .band-contact-us .content-wrapper {
    max-width: 100%;
  }
}