body { font-family: "Figtree", sans-serif; font-size: 1.25rem; }
a { color: #30527d; text-decoration: none; }
a:hover, a:active { color: #999; text-decoration: none; }
a:focus { outline:none; color: #30527d; text-decoration: none; }


.no-decoration { text-decoration: none; }
.btn-blue { background-color: #30527d; color: #fff; }
.btn-blue:hover { background-color: #527bae; color: #fff; }
.btn-round { border: 2px solid #30527d; border-radius: 50px; font-weight: 600; padding: 10px 30px; transition: all .3s ease; }
.btn-round:hover { background-color: #30527d; border: 2px solid #30527d; color: #fff; }

a.add-arrow::after, .btn-arrow a::after { content: '\f061'; font-family: 'font awesome 6 pro'; font-weight: 400; display: inline-block; padding-left: 12px; position: relative; transition: all .3s ease; }
a.add-arrow:hover::after, .btn-arrow a:hover::after {}

.uc { text-transform: uppercase; }
.section-pad { padding: 5rem 0; }
hr.section-separator { width: 80%; margin: 0 auto; }
.white { color: #fff; }
.blue { color: #30527d; }
.drop-shadow { text-shadow: 5px 5px 4px rgba(35,35,35,.3); }

h1, h2, h3 { line-height: 1; }
h1 { font-size: clamp(3rem, 3.25vw, 5.5rem); font-weight: 300; }
h2 { font-size: clamp(2.5rem, 3vw, 3.5rem); font-weight: 800; }
h3 { font-size: clamp(2rem, 2.5vw, 3rem); font-weight: 300; }

#header { position: absolute; top: 0; left: 0; padding: 30px 0; width: 100%; z-index: 99; -webkit-transition: all .3s ease; transition: all .3s ease; }
a.nav-link { color: #000; font-size: clamp(.875em, 1.25vw, 1.25rem); font-weight: 600; }
a.nav-link:hover { color: #000; }

#header.inbody { background-color: rgba(255,255,255,.9); position: fixed !important; top: 0; width: 100%; padding: 12px 0; z-index: 999; opacity: 1; backdrop-filter: blur(12px); animation-name: fadeInOpacity; animation-iteration-count: 1; animation-timing-function: ease-in; animation-duration: .3s; }

#logo img { width: 240px; }
#header.inbody #logo img { width: 150px; }

#hero { height: 80vh; }
.bg-img { width: 100%; background-repeat: no-repeat; background-position: center top; background-size: cover; }
.hero-overlay { position: absolute; bottom: 120px; left: 0; width: auto; background-color: rgba(0,48,110,.6); text-align: left; padding: 8px 40px 8px 0; }
.hero-overlay h1 { color: #fff; font-style: italic; font-weight: 800; padding-left: 14vw; }

#int-hero { height: 160px; background: linear-gradient(to bottom, #f0f9ff 0%,#bfe7ff 100%); }

.intro-text { font-size: clamp(1.25rem, 2.5vw, 2.5rem); line-height: 1.2; margin-bottom: 20%; }
.inset-images { display: flex; flex-wrap: wrap; gap: 30px; }

.mission-wrapper { position: relative; }
.mission-background { margin-top: 0; padding-bottom: 0; width: 100%; }
.mission-background::before { background-color: #ffb774; bottom: 0; content: ""; height: 100%;  position: absolute; left: 0;  width: calc(100% - 125px); z-index: -1; }
.mission-content { display: flex; flex-direction: row; align-items: unset; padding: 70px 0; }
.mission-text { max-width: 50vw;  padding: 0 80px; }
.mission-img { max-width: 450px; }
.more-about a { display: block; }

.project-bg { position: relative; opacity: 1; background-attachment: fixed; background-position: center center; background-repeat: no-repeat; background-size: cover; height: 100vh; max-height: calc(100vh - 100px); }
.project-info { top: 120px; background-color: rgba(255,255,255,.85); padding: 50px 30px; width: 500px; position: relative; }
.project-title { font-size: clamp(1.5rem, 2.5vw, 2.2rem); font-weight: 800; line-height: 1.2; }
.project-link { font-size: 90%; line-height: 1.3; }

.jarallax { position: relative; z-index: 0; height: 100vh;  max-height: calc(100vh - 100px); }
.jarallax > .jarallax-img { position: absolute; object-fit: cover; top: 0; left: 0; width: 100%;  height: 100%; z-index: -1; }

.news-image { width: 100%; max-width: 100%; height: 250px; object-fit: cover; border: 3px solid #fff; box-shadow: 0px 0px 15px 10px rgba(0,0,0,0.1); }

#contact { background-repeat: no-repeat; background-position: left top; background-size: cover; background-color: #402dc7; }
.form-wrapper { background-color: #fff; padding: 30px; }
.form-label { font-size: 14px; }
.form_widget_inner h1 { display: none; }

#footer { background-color: #fff; color: #000; }

@media all and (min-width: 992px) {
.w-80 { width: 100%; max-width: 80%; }
}

@media all and (max-width: 1080px) {
.container-xl { --bs-gutter-x: 3rem; }
#hero { height: 60vh; }
.mission-text { padding: 0 40px; }
.jarallax { height: 700px; max-height: 100%; }
}

@media all and (max-width: 992px) {
#logo img { width: 200px; }
.mission-background::before { width: 100%; }
.mission-content { flex-direction: column-reverse; padding-top: 0; }
.mission-text { max-width: unset; padding: 0 30px; }
.mission-img { max-width: 60vw; margin: 0 auto; margin-top: -40px; }
#contact { background-image: none !important; }
}

@media all and (max-width: 768px) {
body { font-size: 1.05rem; }
#main-menu { background-color: #fff; text-align: center; margin-top: 14px; }
.hero-overlay { bottom: 60px; }
.intro-text { margin-bottom: 30px; }
.project-info { top: 60px; padding: 40px 20px; width: 100%; }
}
@media all and (max-width: 500px) {
    #hero { margin-top: 40px; }
}


/*** GALLERY ***/
.gallery {
       column-width: 300px;
       column-gap: 5px;
       padding: 5px;
}

.gallery img {
  width: 100%;
  cursor: pointer;
  vertical-align: 0;
}

.fslightboxci h2 { font-size: 24px; }
.fslightboxci h3 { font-size: 18px; }