
/* =========================================================
   GLX FOOTER RESET
========================================================= */

.glx-footer,
.glx-footer * {
  box-sizing: border-box;
}

.glx-footer {
  width: 100%;

  font-family:
    "Jost",
    "Inter",
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Roboto,
    Arial,
    sans-serif;

  color: #17365f;

  background: #ffffff;
}


/* =========================================================
   MAIN FOOTER
========================================================= */

.glx-footer-main {
  width: 100%;

  padding:
    40px
    30px
    38px;

  background:
    linear-gradient(
      180deg,
      #ffffff 0%,
      #fbfdff 100%
    );
}


.glx-footer-container {
  width: min(100%, 1600px);

  margin: 0 auto;

  display: grid;

  grid-template-columns:
    1.45fr
    1px
    .85fr
    .95fr
    1.2fr;

  gap: 45px;

  align-items: start;
}


/* =========================================================
   BRAND
========================================================= */

.glx-footer-brand-top {
  display: flex;

  align-items: center;

  gap: 25px;
}


.glx-footer-logo {
  flex: 0 0 auto;

  display: inline-flex;

  align-items: center;

  justify-content: center;
}


.glx-footer-logo img {
  display: block;

  width: 145px;

  height: auto;

  object-fit: contain;
}


.glx-footer-tagline {
  color: #4e6789;

  font-size: 18px;

  line-height: 1.45;

  font-weight: 500;
}


/* =========================================================
   SOCIAL
========================================================= */

.glx-footer-social {
  display: flex;

  align-items: center;

  gap: 14px;

  margin-top: 22px;
}


.glx-social {
  width: 46px;
  height: 46px;

  display: flex;

  align-items: center;
  justify-content: center;

  border-radius: 9px;

  color: #ffffff !important;

  text-decoration: none !important;

  box-shadow:
    0 7px 16px
    rgba(21, 50, 80, .09);

  transition:
    transform .22s ease,
    box-shadow .22s ease;
}


.glx-social:hover {
  transform: translateY(-3px);

  box-shadow:
    0 10px 22px
    rgba(21, 50, 80, .16);
}


.glx-social svg {
  width: 25px;
  height: 25px;
}


.glx-facebook {
  background:
    linear-gradient(
      145deg,
      #2d6bc5,
      #164c98
    );
}


.glx-instagram {
  background:
    radial-gradient(
      circle at 30% 110%,
      #ffd600 0%,
      #ff7a00 35%,
      #ff0169 62%,
      #d300c5 80%,
      #7638fa 100%
    );
}


.glx-youtube {
  background:
    linear-gradient(
      145deg,
      #ff3333,
      #d90909
    );
}


.glx-twitter {
  background:
    linear-gradient(
      145deg,
      #31b9ec,
      #1691cc
    );
}


.glx-linkedin {
  background:
    linear-gradient(
      145deg,
      #168ac1,
      #086999
    );
}


/* =========================================================
   DIVIDER
========================================================= */

.glx-footer-divider {
  width: 1px;

  height: 100%;

  min-height: 200px;

  background:
    #d8e4ef;
}


/* =========================================================
   COLUMN TITLES
========================================================= */

.glx-footer-col-title {
  width: 100%;

  display: flex;

  align-items: center;

  justify-content: space-between;

  margin: 0 0 18px;

  padding: 0;

  border: 0;

  background: transparent;

  color: #092c59;

  font-family: inherit;

  font-size: 21px;

  line-height: 1.2;

  font-weight: 800;

  text-align: left;

  cursor: default;
}


.glx-footer-col-title svg {
  display: none;

  width: 20px;

  height: 20px;
}


/* =========================================================
   LINKS
========================================================= */

.glx-footer-links {
  display: flex;

  flex-direction: column;

  align-items: flex-start;

  gap: 10px;
}


.glx-footer-links a {
  color: #4b6587 !important;

  font-size: 16px;

  line-height: 1.25;

  font-weight: 500;

  text-decoration: none !important;

  transition:
    color .2s ease,
    transform .2s ease;
}


.glx-footer-links a:hover {
  color: #1477e8 !important;

  transform:
    translateX(3px);
}


/* =========================================================
   BOTTOM BAR
========================================================= */

.glx-footer-bottom {
  width: 100%;

  background:
    linear-gradient(
      90deg,
      #072c59 0%,
      #0b396f 55%,
      #062a55 100%
    );
}


.glx-footer-bottom-inner {
  width: min(100%, 1700px);

  min-height: 92px;

  margin: 0 auto;

  padding:
    16px
    30px;

  display: flex;

  align-items: center;

  justify-content: center;

  gap: 20px;

  color: #ffffff;
}


/* =========================================================
   BOTTOM ITEMS
========================================================= */

.glx-bottom-item {
  display: flex;

  align-items: center;

  gap: 10px;

  color: #ffffff;

  font-size: 14px;

  line-height: 1.35;

  font-weight: 600;

  white-space: nowrap;
}


.glx-bottom-icon {
  flex: 0 0 31px;

  width: 31px;
  height: 31px;

  display: flex;

  align-items: center;
  justify-content: center;

  color: #ffffff;
}


.glx-bottom-icon svg {
  width: 27px;
  height: 27px;
}


.glx-bottom-address {
  max-width: 320px;

  white-space: normal;

  font-size: 13px;
}


.glx-bottom-link {
  text-decoration: none !important;

  transition:
    opacity .2s ease,
    transform .2s ease;
}


.glx-bottom-link:hover {
  color: #ffffff !important;

  opacity: .9;

  transform: translateY(-1px);
}


.glx-bottom-separator {
  width: 1px;

  height: 47px;

  background:
    rgba(255,255,255,.7);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 1100px) {

  .glx-footer-container {
    grid-template-columns:
      1.3fr
      1px
      1fr
      1fr;

    gap: 30px;
  }


  .glx-footer-col:last-child {
    grid-column:
      3 / 5;
  }


  .glx-footer-bottom-inner {
    flex-wrap: wrap;

    justify-content: center;

    gap: 14px 18px;

    padding:
      18px
      20px;
  }


  .glx-bottom-separator {
    display: none;
  }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 767px) {

  .glx-footer-main {
    padding:
      28px
      16px
      25px;
  }


  .glx-footer-container {
    display: block;
  }


  .glx-footer-brand {
    margin-bottom: 25px;
  }


  .glx-footer-brand-top {
    align-items: center;

    gap: 18px;
  }


  .glx-footer-logo img {
    width: 110px;
  }


  .glx-footer-tagline {
    font-size: 14px;
  }


  .glx-footer-social {
    margin-top: 18px;

    gap: 10px;
  }


  .glx-social {
    width: 40px;
    height: 40px;
  }


  .glx-social svg {
    width: 22px;
    height: 22px;
  }


  .glx-footer-divider {
    display: none;
  }


  /* Accordion columns */

  .glx-footer-col {
    border-top:
      1px solid
      #e6edf5;
  }


  .glx-footer-col:last-child {
    border-bottom:
      1px solid
      #e6edf5;
  }


  .glx-footer-col-title {
    min-height: 56px;

    margin: 0;

    cursor: pointer;

    font-size: 17px;
  }


  .glx-footer-col-title svg {
    display: block;

    transition:
      transform .25s ease;
  }


  .glx-footer-col.glx-open
  .glx-footer-col-title svg {
    transform:
      rotate(180deg);
  }


  .glx-footer-links {
    max-height: 0;

    overflow: hidden;

    gap: 9px;

    opacity: 0;

    transition:
      max-height .3s ease,
      opacity .25s ease,
      padding .3s ease;
  }


  .glx-footer-col.glx-open
  .glx-footer-links {
    max-height: 320px;

    opacity: 1;

    padding:
      0
      0
      17px;
  }


  .glx-footer-links a {
    font-size: 14px;
  }


  /* Bottom */

  .glx-footer-bottom-inner {
    display: grid;

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

    gap: 17px;

    padding:
      20px
      16px;
  }


  .glx-bottom-item {
    white-space: normal;

    font-size: 12px;
  }


  .glx-bottom-address {
    grid-column:
      1 / -1;

    max-width: none;

    font-size: 12px;
  }


  .glx-bottom-icon {
    width: 27px;

    flex-basis: 27px;
  }


  .glx-bottom-icon svg {
    width: 24px;
    height: 24px;
  }

}


/* =========================================================
   SMALL MOBILE
========================================================= */

@media (max-width: 420px) {

  .glx-footer-brand-top {
    align-items: flex-start;
  }


  .glx-footer-logo img {
    width: 90px;
  }


  .glx-footer-tagline {
    font-size: 12px;
  }


  .glx-footer-bottom-inner {
    grid-template-columns:
      1fr;
  }


  .glx-bottom-address {
    grid-column:
      auto;
  }

}

/* Dynamic WordPress menus and accessible progressive enhancement. */
.glx-footer .glx-footer-container { grid-template-columns:minmax(0,1.45fr) 1px minmax(0,.85fr) minmax(0,.95fr) minmax(0,1.2fr); gap:clamp(20px,2.5vw,45px); }
.glx-footer .glx-footer-brand-top { flex-wrap:wrap; }
.glx-footer .glx-footer-logo { max-width:100%; text-decoration:none; }
.glx-footer .glx-footer-logo img { max-width:100%; }
.glx-footer .glx-footer-social { flex-wrap:wrap; }
.glx-footer .glx-footer-social { gap:5px; }
.glx-footer .glx-social { width:50px; height:50px; border-radius:5px; box-shadow:none; }
.glx-footer .glx-facebook { background:#3b5998; }
.glx-footer .glx-twitter { background:#1da1f2; }
.glx-footer .glx-youtube { background:#cd201f; }
.glx-footer .glx-footer-app-download { display:inline-flex; align-items:center; justify-content:center; gap:10px; max-width:100%; min-height:46px; margin-top:18px; padding:12px 20px; border-radius:8px; background:#092c59; color:#fff; font-size:15px; font-weight:600; line-height:1.4; text-decoration:none; }
.glx-footer .glx-footer-app-download:hover { background:#147eae; color:#fff; }
.glx-footer .glx-footer-app-download svg { width:22px; height:22px; flex-shrink:0; }
.glx-footer .glx-footer-social:not(:has(a)) { display:none; }
.glx-footer .glx-footer-heading { margin:0; padding:0; font:inherit; }
.glx-footer .glx-footer-col-title { opacity:1; border-radius:0; box-shadow:none; }
.glx-footer .glx-footer-col-title:disabled { color:#092c59; background:transparent; cursor:default; }
.glx-footer .glx-footer-links { max-height:none; overflow:visible; opacity:1; }
.glx-footer .glx-footer-links[hidden] { display:none !important; }
.glx-footer .glx-footer-links ul { display:flex; flex-direction:column; gap:10px; list-style:none; margin:0; padding:0; width:100%; }
.glx-footer .glx-footer-links ul ul { padding:10px 0 0 14px; }
.glx-footer .glx-footer-links li { list-style:none; margin:0; padding:0; }
.glx-footer .glx-footer-links a { display:inline-block; overflow-wrap:anywhere; }
.glx-footer :is(a,button):focus-visible { outline:2px solid #1477e8; outline-offset:4px; }
.glx-footer .glx-footer-bottom-inner { flex-wrap:wrap; }
.glx-footer .glx-bottom-item { min-width:0; white-space:normal; overflow-wrap:anywhere; }
.glx-footer .glx-bottom-item+.glx-bottom-item { border-left:1px solid #ffffff80; padding-left:20px; }
.glx-footer .glx-bottom-link { color:#fff; }
@media(max-width:1100px) {
 .glx-footer .glx-footer-container { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr); }
 .glx-footer .glx-footer-brand { grid-column:1/-1; }
 .glx-footer .glx-footer-divider { display:none; }
 .glx-footer .glx-footer-col:last-child { grid-column:auto; }
 .glx-footer .glx-bottom-item+.glx-bottom-item { border:0; padding-left:0; }
}
@media(max-width:767px) {
 .glx-footer .glx-footer-links { padding:0 0 17px; }
 .glx-footer .glx-footer-links a { padding-block:5px; }
 .glx-footer .glx-social { width:44px; height:44px; }
 .glx-footer .glx-footer-col-title[aria-expanded="true"] svg { transform:rotate(180deg); }
 .glx-footer .glx-footer-col-title[aria-expanded="false"] svg { transform:none; }
}
@media(prefers-reduced-motion:reduce) { .glx-footer * { transition:none !important; } }
