img[width][height] {
    content-visibility: auto;
}
h3, .h3{
    font-size:36px;
    line-height:46px;
}
.h3{
    font-weight:400;
}
.h6{
    font-size:18px;
}
h4, .h4{
    font-size:30px;
    line-height:38px;
}
.menu,
h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6{
    font-family:var(--title-font);
}
p a{
   color:var(--blue);
   font-weight:400;
}
a.back-btn:hover,
a.back-btn:focus{
    text-decoration:underline;
}
p a:hover,
p a:focus{
    text-decoration:underline;
}
.calibri{
    font-family:var(--body-font);
}
.calibri b,
.calibri strong{
    font-weight:700;
}
.large-text p:not(.h4){
    font-size:21px;
    line-height:34px;
}
.large-text p.h4{
    margin-bottom:24px;
}
.btn{
    font-family:var(--body-font);
    border-width:1px;
}
.btn.btn-outline-primary{
    border-color:var(--blue);
    color:var(--blue);
}
.btn.btn-outline-primary:hover,
.btn.btn-outline-primary:focus{
    background:var(--blue);
    color:#fff;
}
nav .nav-link.active{
    text-decoration:underline;
}
.logo{
    height:90px;
}
.nav-bar a.navbar-brand{
    height:auto;
    display:block;
    padding-top:0;
    padding-bottom:0;
    margin-right:0;
}
.nav-bar a.navbar-brand:hover,
.nav-bar a.navbar-brand:focus{
    opacity:.5;
}
nav .nav-link{
    font-family: var(--title-font);
    font-size: 28px;
    font-weight: 400;
    opacity: 1;
    text-transform: none;
    height:auto;
    display:block;
    line-height:1;
}
nav:not(.scrolled) .logo-dark{
    display:none;
}
nav.scrolled .logo-dark{
    display:block;
}
nav:not(.scrolled) .logo-light{
    display:block;
}
nav.scrolled .logo-light{
    display:none;
}
nav:not(.scrolled):not(.tab-nav) .nav-link{
    transition:opacity 0.3s ease;
    color:#fff;
}
nav.scrolled .nav-link{
   color:var(--dark-blue); 
}
nav:not(.scrolled):not(.tab-nav)  .nav-link.active{
    color:#fff;
}
nav:not(.scrolled) .nav-link:hover,
nav:not(.scrolled) .nav-link:focus{
    opacity:.5 !important;
}
nav.scrolled .nav-link:hover,
nav.scrolled .nav-link:focus{
    color:var(--blue);
}
nav.scrolled .nav-bar{
    border-bottom-color:var(--blue);
}
.navbar-toggler{
    
    margin-bottom:0;
    border-radius:0;
    padding:15px;
}
nav:not(.scrolled) .navbar-toggler{
    color:#fff;
    border-color:#fff;
}
nav.scrolled .navbar-toggler{
    color:var(--dark-blue);
    border-color:var(--dark-blue);
}
footer .menu > li{
    float:unset;
}
.fade{
    transition:opacity 0.75s ease;
}
.page-title-1, .page-title-2{
    height:500px;
}
.new-background-image-holder{
    position:relative;
    background-color:#000;
}
.new-background-image-holder picture{
    z-index: 0;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
}
.new-background-image-holder picture img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.new-background-image-holder .container{
    position:relative;
    z-index:5;
}
nav.tab-nav{
    position:relative;
    top:unset;
    margin-bottom:50px;
}
.nav-tabs{
    border-bottom:none;
}
.nav-tabs .nav-link{
    text-transform:uppercase;
    font-size:18px;
    line-height:34px;
    color:var(--blue);
    border-color:var(--blue);
    padding:5px 20px;
    margin-bottom:0;
    border-top-left-radius:0;
    border-top-right-radius:0;
    font-family:var(--body-font);
    margin:0 10px;
    transition:all 0.3s ease;
}
nav:not(.scrolled) .nav-tabs .nav-link:hover,
nav:not(.scrolled) .nav-tabs .nav-link:focus,
nav:not(.scrolled) .nav-tabs .nav-link.active{
    text-decoration:none;
    background-color:var(--blue);
    color:#fff;
    border-color:var(--blue);
    isolation:unset;
    opacity:1!important;
}
.bottom-hero{
    height:600px;
}
.bottom-hero.new-background-image-holder{
    background-color:var(--dark-blue);
}
.image-bg .btn.btn-filled.btn-white, .image-bg .btn-filled.btn-white:visited{
    border-color:#fff;
    background-color:#fff;
    color:var(--blue);
}
a.btn, button.btn{
    padding-top:21px;
    padding-bottom:21px;
    line-height:1;
}
.image-bg .btn.btn-filled.btn-white:hover,
.image-bg .btn-filled.btn-white:visited:hover,
.image-bg .btn.btn-filled.btn-white:focus,
.image-bg .btn-filled.btn-white:visited:focus{
    opacity:.75;
}
.project-details{
    margin-bottom:20px;
}
.project-details span{
    color:var(--dark-blue);
}
.project-details p{
    margin-bottom:10px;
    font-size:21px;
    line-height:34px;
}
.feature .btn{
    margin-bottom:0;
}
.modal-content{
    border-radius:0;
}
.modal-body .modal-pad p{
    font-size:16px;
    line-height:28px;
}
.modal-body p:last-child{
    margin-bottom:0;
}
.modal-backdrop{
    --bs-backdrop-bg: var(--dark-blue);
    --bs-backdrop-opacity: 0.9;
}
.modal-body .btn-close{
    background:none;
    opacity:1;
    border-radius:0;
    position:absolute;
    top:15px;
    right:15px;
    z-index:3;
    color:var(--blue);
    background:rgba(255,255,255,.75);
    font-size:20px;
    line-height:1;
    transition:opacity 0.3s ease;
    margin-bottom:0;
}
.modal-body .btn-close:hover,
.modal-body .btn-close:focus{
    opacity:.75;
}
.modal-body{
    padding:0;
}
.modal-pad{
    padding:2rem;
}
.modal-body .splide{
    max-width:700px;
    margin-left:auto;
    margin-right:auto;
}
.splide__arrow{
    opacity:1;
    color:var(--blue);
    background:rgba(255,255,255,.75);
    font-size:20px;
    line-height:1;
    transition:opacity 0.3s ease;
}
.splide__arrow:hover,
.splide__arrow:focus{
    opacity:.75;
}
.splide__arrow--prev svg{
    transform: scaleX(1);
}
.splide__slide{
    height:200px;
}
.splide__slide img{
    height:100%;
    object-fit:cover;
}
.glightbox{
    position:absolute;
    z-index:3;
    color:var(--blue);
    background:rgba(255,255,255,.75);
    font-size:20px;
    padding:20px 20px;
    line-height:1;
    height:60px;
    width:60px;
    top:calc(50% - 30px);
    left:calc(50% - 30px);
    border-radius:50%;
    text-align:center;
}
.glightbox:hover,
.glightbox:focus{
    transform:scale(1.25);
}
.goverlay{
    background:var(--dark-blue);
}
@media (min-width:769px){
    .goverlay{
        background:rgba(1,47,76,0.9);
    }
}

.date{
    font-size:18px;
    color:var(--dark-blue);
}
.content ul{
    list-style:disc;
    font-size:21px;
    line-height:46px;
    padding-left:40px;
}

.image-bg h1.h2{
    font-size:60px;
    line-height:68px;
    letter-spacing:0;
    font-family:var(--title-font);
}
.press-row-tpl{
    border:1px solid var(--blue);
    position:relative;
    transition:opacity 0.3s ease;
}
.press-row-tpl a::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: block;
    z-index: 10;
}
.press-row-tpl:hover,
.press-row-tpl:focus-within{
    opacity:.5;
}
.press-row-tpl + .press-row-tpl{
    margin-top:30px;
}
.press-row-tpl .text-box{
    padding-top:25px;
    padding-bottom:25px;
}
.press-row-tpl .read-more{
    margin-bottom:0;
    color:var(--blue);
}
.press-row-tpl .article-title{
    color:var(--dark-blue);
    font-family:var(--title-font);
    font-size:24px;
    line-height:32px;
    margin-bottom:13px;
}
.press-row-tpl .date{
    margin-bottom:13px;
    color:var(--text-gray);
}
.press-row-tpl p:not(.read-more):not(.article-title){
    font-size:18px;
    line-height:30px;
}

.footer-logo{
    height:96px;
}
nav:not(.scrolled) .navbar-collapse{
    background:var(--dark-blue);
}
.navbar-collapse{
    padding:10px 20px;
}
footer .social-links a{
    color:#fff;
    font-size:21px;
    line-height:1;
}
.social-links a{
    color:var(--text-gray);
    font-size:21px;
    line-height:1;
}
.social-links a:hover,
.social-links a:focus{
    color:var(--blue);
}
.contact-content p a{
    color:var(--text-gray);
}
.contact-content p a:hover,
.contact-content p a:focus{
    color:var(--blue);
}
footer .business-info a{
    color:#fff;
}
footer .business-info a:hover,
footer .business-info a:focus{
    color:var(--blue);
}
.lite-blue-bg{
    background:rgba(0,129,200,.1);
}
input[type="submit"]{
    margin-bottom:0;
    font-size:18px;
    font-weight:400;
    line-height:1;
    height:auto;
    padding-top:21px;
    padding-bottom:21px;
}
.error{
    color:var(--blue);
    font-size:16px;
    line-height:28px;
    display:block;
}
span.error{
    margin-bottom:5px;
}
input[type="text"], input[type="password"]{
    font-weight:400;
    padding-left:0.75rem;
}
textarea.form-control{
    min-height:100px;
}
.top-bkg{
    object-position:top;
}
.home-hero-bg{
    box-shadow:0px 10px 20px rgba(1,47,76,.5);
}
.scroll-down-btn {
    padding-top: 80px;
    position: absolute;
    bottom: 20px;
    left: 50%;
    display: inline-block;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    color: #fff;
    transition: opacity .3s;
    z-index:99;
}
.scroll-down-btn:hover,
.scroll-down-btn:focus{
    opacity:.5 !important;
}
.scroll-down-btn span {
  position: absolute;
  top: 0;
  left: 50%;
  width: 24px;
  height: 24px;
  margin-left: -12px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-animation: sdb07 2s infinite;
  animation: sdb07 2s infinite;
  opacity: 0;
  box-sizing: border-box;
}
.scroll-down-btn span:nth-of-type(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
.scroll-down-btn span:nth-of-type(2) {
  top: 16px;
  -webkit-animation-delay: .15s;
  animation-delay: .15s;
}
.scroll-down-btn span:nth-of-type(3) {
  top: 32px;
  -webkit-animation-delay: .3s;
  animation-delay: .3s;
}
@-webkit-keyframes sdb07 {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
@keyframes sdb07 {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}
.form .inline .form-control{
    background:#fbfbfd;
    border: 1px solid #f9f9fc;
    font-family:var(--body-font);
    box-shadow:inset 1px 1px 2px rgba(1,47,76,.20);
}
.inline span{
    color:var(--text-gray);
}
textarea.form-control{
    resize:vertical;
}
.slider-container{
  position:relative;
  display:block;
}
.modal-body .slider-container .scroll-down-btn{
    transform:unset;
    background-color:rgba(255,255,255,.85);
    width:44px;
    padding-top:71px;
    left:unset;
    right:0;
    bottom:0;
}
.modal-body .info .scroll-down-btn{
    transform:unset;
    width:44px;
    padding-top:71px;
    left:unset;
    right:0;
    top:0;
}
.modal-body .slider-container .scroll-down-btn span,
.modal-body .info .scroll-down-btn span{
    border-left-color:var(--blue);
    border-bottom-color:var(--blue);
}
/* .services-content ul{
    display:flex;
    flex-wrap:wrap;
}
.services-content ul li{
    display:block;
    font-size:30px;
    border:1px solid var(--blue);
    padding:20px;
    max-width:100%;
    flex:0 0 auto;
    width:calc(25% - 20px);
    margin:0 10px;
} */
.image-box::after{
    transition:opacity 0.3s ease;
}
.value-link:hover .image-box::after,
.value-link:focus .image-box::after{
    opacity:.75;
}
@media (max-width:991px){
    .image-right > .feature:not(.bordered){
        padding-left: calc(var(--bs-gutter-x) * .5);
    }
    .press-row-tpl img{
        height:100%;
        width:100%;
        object-fit:cover;
    }
}
@media (max-width:990px){
    .menu li{
        display:inline-block;
        width:auto;
        max-width:unset;
        line-height:32px;
    }
    .nav-bar{
        overflow:unset;
    }
}
@media (max-width:767px){
    p{
        font-size:21px;
    }
    footer p{
        font-size:12px;
    }
    h1.large, .image-bg h1{
        font-size:44px;
        line-height:0.8;
    }
    h2,
    .image-bg h1.h2{
        font-size:48px;
        line-height:56px;
    }
    section{
        padding:40px 0;
    }
    .image-overlap{
        padding-top:35px;
        padding-bottom:35px;
    }
    .image-overlap .feature{
        margin-bottom:0;
    }
    .menu li{
        display:block;
    }
    .two-col{
        column-count: 1;
        column-gap: 0px;
    }
    .modal-body .slider-container .scroll-down-btn span,
.modal-body .info .scroll-down-btn span{
        width:12px;
        height:12px;
        margin-left:-6px;
    }
    .modal-body .slider-container .scroll-down-btn,
    .modal-body .info .scroll-down-btn{
        width:32px;
    }
}
@media (max-width:575px){
    .inline > span{
        width:100%;
        display:block;
    }
    .inline .btn, .inline > textarea, .inline > input{
        width:100%;
    }
    .inline{
        flex-direction:column;
    }
}
@media(min-width:576px){
    .fullscreen{
        height:600px;
    }
    
    .splide__slide{
        height:250px;
    }
}
@media (min-width:768px){
    .fullscreen{
        height:85vh;
    }
    .modal-dialog{
        max-width:900px;
    }
    .splide__slide{
        height:400px;
    }
    .glightbox{
        font-size:30px;
        padding:35px 20px;
        height:100px;
        width:100px;
        top:calc(50% - 50px);
        left:calc(50% - 50px);
    }
}
@media (min-width:992px){
    .navbar-expand-lg .navbar-nav .nav-link{
        padding-right: 15px;
        padding-left: 15px;
    }
    nav:not(.scrolled) .navbar-collapse{
        background:transparent;
    }
    .navbar-collapse{
        padding:0;
    }
}