@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Source+Sans+3:wght@300;400;500;600;700&display=swap");

:root {
  --uk-navy: #1F3B73;
  --uk-royal: #2F5DA8;
  --uk-gold: #C9A96B;
  --uk-white: #FFFFFF;
  --uk-light: #F7F9FC;
  --uk-text: #1E2430;
  --uk-muted: #6B7280;
  --uk-body-font: "Source Sans 3", sans-serif;
  --uk-heading-font: "Cormorant Garamond", serif;
}

body {
  font-family: var(--uk-body-font) !important;
  background-color: var(--uk-light) !important;
  color: var(--uk-text) !important;
}

.navbar .navbar-nav .nav-link,
.btn,
input,
select,
textarea,
button {
  font-family: var(--uk-body-font) !important;
}

.fw-300 {
  font-weight: 300 !important;
}

.fw-400 {
  font-weight: 400 !important;
}

.fw-500 {
  font-weight: 500 !important;
}

.fw-600 {
  font-weight: 600 !important;
}

.fw-700 {
  font-weight: 700 !important;
}

p,
span,
li,
.widget-text,
.text-medium-gray,
.form-control,
.accordion-body,
.last-paragraph-no-margin p {
  color: var(--uk-muted) !important;
}

h1,
h2,
h3,
h4,
h5,
h6,
h1[class],
h2[class],
h3[class],
h4[class],
h5[class],
h6[class],
.alt-font {
  font-family: var(--uk-heading-font) !important;
  color: var(--uk-text);
}

.text-dark-gray {
  color: var(--uk-text) !important;
}

h1,
h2 {
  letter-spacing: -0.02em;
}

h3,
h4,
h5,
h6 {
  letter-spacing: -0.015em;
}

.header-top-bar,
.bg-very-light-gray,
footer .footer-top,
section.bg-very-light-gray {
  background-color: var(--uk-light) !important;
}

.bg-yellow,
.btn-yellow,
.text-yellow,
.border-yellow,
.feature-box-icon.bg-yellow,
[class*="text-yellow"],
[class*="bg-yellow"] {
  background-color: var(--uk-gold) !important;
  color: var(--uk-white) !important;
  border-color: var(--uk-gold) !important;
}

.btn-base-color,
.btn.btn-base-color,
.bg-base-color,
[class*="bg-base-color"] {
  background-color: var(--uk-navy) !important;
  border-color: var(--uk-navy) !important;
  color: var(--uk-white) !important;
}

.text-base-color,
[class*="text-base-color"] {
  color: var(--uk-navy) !important;
}

.btn-base-color:hover,
.btn.btn-base-color:hover,
.btn.btn-yellow:hover {
  background-color: var(--uk-royal) !important;
  border-color: var(--uk-royal) !important;
  color: var(--uk-white) !important;
}

a,
a.text-dark-gray,
a.text-base-color,
.nav-link,
.footer-navbar li a,
.text-decoration-line-bottom {
  color: var(--uk-navy) !important;
}

a.btn.btn-base-color,
a.btn.btn-dark-gray,
a.btn.btn-yellow,
.btn.btn-base-color,
.btn.btn-dark-gray,
.btn.btn-yellow,
.btn.btn-base-color span,
.btn.btn-dark-gray span,
.btn.btn-yellow span {
  color: var(--uk-white) !important;
}

.btn.btn-dark-gray,
a.btn.btn-dark-gray {
  background-color: #172A4E !important;
  border-color: #172A4E !important;
}

.btn.btn-base-color:hover,
.btn.btn-dark-gray:hover,
.btn.btn-yellow:hover,
a.btn.btn-base-color:hover,
a.btn.btn-dark-gray:hover,
a.btn.btn-yellow:hover {
  color: var(--uk-white) !important;
}

.btn.btn-dark-gray:hover,
a.btn.btn-dark-gray:hover {
  background-color: var(--uk-navy) !important;
  border-color: var(--uk-navy) !important;
}

.btn.btn-white,
a.btn.btn-white,
.btn.btn-white span {
  background-color: var(--uk-white) !important;
  border-color: var(--uk-white) !important;
  color: var(--uk-navy) !important;
}

.btn.btn-white:hover,
a.btn.btn-white:hover {
  background-color: #eef2fa !important;
  border-color: #eef2fa !important;
  color: var(--uk-navy) !important;
}

a:hover,
.nav-link:hover,
.nav-link.active,
.dropdown-menu li a:hover {
  color: var(--uk-royal) !important;
}

.navbar,
.header-light,
.bg-white,
.contact-form-style-01 .bg-white,
.contact-form-style-02,
.box-shadow-quadruple-large,
.box-shadow-double-large {
  background-color: var(--uk-white) !important;
}

.border-color-transparent-white-light,
.border-color-transparent-dark-very-light,
.border-color-extra-medium-gray {
  border-color: rgba(31, 59, 115, 0.14) !important;
}

.section-dark,
.page-title-big-typography {
  position: relative;
}

.section-dark::before,
.page-title-big-typography::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(31, 59, 115, 0.82), rgba(47, 93, 168, 0.55));
  z-index: 0;
}

.section-dark > .container,
.page-title-big-typography > .container {
  position: relative;
  z-index: 1;
}

.section-dark h1,
.section-dark h2,
.section-dark p,
.section-dark span,
.section-dark .text-white {
  color: var(--uk-white) !important;
}

footer.footer-dark,
footer.bg-dark-gray,
.bg-dark-gray {
  background-color: #172A4E !important;
}

footer.footer-dark h1,
footer.footer-dark h2,
footer.footer-dark h3,
footer.footer-dark h4,
footer.footer-dark h5,
footer.footer-dark h6,
footer.footer-dark a,
footer.footer-dark i {
  color: var(--uk-white) !important;
}

footer.footer-dark p,
footer.footer-dark li,
footer.footer-dark span,
footer.footer-dark strong {
  color: rgba(255, 255, 255, 0.82) !important;
}

footer.footer-dark p a,
footer.footer-dark li a,
footer.footer-dark a.text-white,
footer.footer-dark .text-white {
  color: var(--uk-white) !important;
}

.navbar-brand {
  display: inline-flex;
  align-items: center;
}

img.default-logo,
img.alt-logo,
img.mobile-logo {
  width: 210px !important;
  max-height: 64px !important;
  height: auto !important;
}

footer .footer-logo {
  background: rgba(255, 255, 255, 0.96);
  padding: 12px 18px 10px;
  border-radius: 20px;
}

footer .footer-logo img {
  width: 235px;
  max-width: 100%;
  height: auto;
}

.cursor-page-inner {
  display: none !important;
}

img[src*="images/sections/about-process-"] {
  height: 245px;
  object-fit: cover;
  width: 100%;
}

img[src*="images/sections/services-"] {
  height: 245px;
  object-fit: cover;
  width: 100%;
}

@media (max-width: 767px) {
  img.default-logo,
  img.alt-logo,
  img.mobile-logo {
    width: 180px !important;
    max-height: 54px !important;
  }

  footer .footer-logo img {
    width: 210px;
  }

  .home-hero-title {
    font-size: 42px !important;
    letter-spacing: -0.2px !important;
    line-height: 1.3 !important;
    margin-bottom: 28px !important;
    max-width: none !important;
    text-wrap: pretty;
  }

  .home-hero-copy {
    line-height: 1.7 !important;
    margin-bottom: 40px !important;
    max-width: 31ch;
  }

  .home-hero-followup {
    padding-top: 72px !important;
  }
}

@media (max-width: 575px) {
  img.default-logo,
  img.alt-logo,
  img.mobile-logo {
    width: 165px !important;
    max-height: 50px !important;
  }

  .home-hero-title {
    font-size: 37px !important;
    letter-spacing: 0 !important;
    line-height: 1.34 !important;
    max-width: none !important;
  }

  .home-hero-followup {
    padding-top: 76px !important;
  }
}
