
.site-footer {
  width:100%; overflow-x: hidden;

  position:relative; z-index: 999;

  border-top: 1px solid var(--col-primary-green);

  -webkit-box-shadow: 1px -15px 13px 0px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 1px -15px 13px 0px rgba(0, 0, 0, 0.1);
  box-shadow: 1px -15px 13px 0px rgba(0, 0, 0, 0.1);
}

.footer-top {
  
  width:100%;

  display:flex;justify-content: center;
}

.footer-top-inner {
  width:80%;
  display:flex;
  border-bottom:1px solid rgba(0,0,0,0.1);
}

.footer-col {
  padding:2rem;
}

.footer-col-left {
  
  border-right:1px solid rgba(0,0,0,0.1);
}

/*
* Footer col info with link data
*/

.footer-col-info {
  width:100%;
  display:flex;
}

.footer-col-icon {
  margin-right:2rem;
  width:3rem;height:auto;
}

.footer-col-icon img {
  width:100%;
  height:auto;
}

.footer-col-text {
  width:100%;
  display: flex;flex-direction: column;
}

.footer-col-label {
  font-size:1.5rem;
  line-height: 1.6rem;
  font-weight:300;

  color:#1e293b;
}

.footer-col-link {
  margin-top:1rem;
}

.footer-col-link a {
  display:block;

  font-size:1.3rem;
  line-height: 1.6rem;

  color:#0f172a;

  text-decoration:none;
}

.footer-col-caption {
  margin-top:1rem; 

  font-size:1.3rem;
  line-height: 1.6rem;

  color:#0f172a;
}

.footer-middle {
  margin:1.5rem 0;
  width:100%;
  display:flex; justify-content: center;
}

.footer-middle-inner {
  width:90%;

  display:flex;
}

.footer-logo {

}

.footer-logo img {
  max-width:45%;
  height:auto;
  /*filter: saturate(0%) grayscale(100%);*/
  opacity:100%;
}

.footer-hero-text {
  margin:1rem 0;

  font-size:1.4rem;
  line-height: 1.8rem;
  font-weight:300;

  color:#1e293b;
}

.img-logo-ext-footer {
  width:5vw;
  max-width:250px;
  height:auto;

  display:block;
}

.img-logo-ext-footer-sbf {
  max-width:250px;
  height:auto;
  display:block;
}

/* hidden on desktop */
.site-footer-mobile { display: none; }

@media (max-width: 1023px){
/* hide desktop footer on small screens */
.site-footer { display: none; }

.site-footer-mobile{
  display:block;
  background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%);
  color:#0f172a;
}

.sfm-top, .sfm-mid{
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 14px;
}

/* TOP STRIP */
.sfm-top-inner{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:14px;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
}

.sfm-contact{
  display:flex;
  gap:12px;
  align-items:flex-start;
  text-decoration:none;
  color:#0f172a;
  padding: 12px 12px;
  border-radius: 16px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.10);
}
.sfm-contact--no-link{ cursor:default; }

.sfm-icon{
  width:38px;
  height:38px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background: rgba(0,0,0,.05);
  border: 1px solid rgba(0,0,0,.18);
  flex: 0 0 auto;
}

.sfm-icon img{ 
  width:32px; height:32px; 
  display:block; 
}

.sfm-text{ display:flex; flex-direction:column; gap:4px; }
.sfm-label{ opacity:.85; font-size:13px; }
.sfm-value{ font-weight:600; font-size:14px; line-height:1.25; }

/* MID */
.sfm-mid-inner{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap:18px;
  padding: 18px 0 24px;
}

.sfm-brand{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.sfm-logo img{
  display:block;
  max-width: 180px;
  height:auto;
}
.sfm-hero{
  opacity:.92;
  line-height:1.35;
}

/* accordion blocks */
.sfm-acc{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.sfm-section{
  border-radius: 16px;
  overflow:hidden;
  border: 1px solid rgba(0,0,0,.12);
  background: rgba(0,0,0,.02);
}

.sfm-title{
  list-style:none;
  cursor:pointer;
  padding: 14px 14px;
  font-weight:700;
  letter-spacing:.2px;
  position:relative;
}
.sfm-title::-webkit-details-marker{ display:none; }

.sfm-title::after{
  content:"+";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-50%);
  opacity:.9;
}
details[open] > .sfm-title::after{ content:"–"; }

.sfm-links{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding: 0 14px 14px;
}
.sfm-link{
  text-decoration:none;
  color:#0f172a;
  opacity:.92;
  padding: 10px 10px;
  border-radius: 14px;
  background: rgba(0,0,0,.03);
  border: 1px solid rgba(0,0,0,.10);
}
.sfm-link:hover{ opacity:1; }

.sfm-social{
  display:flex;
  gap:10px;
  padding: 0 14px 14px;
}
.sfm-social-btn{
  width:40px;
  height:40px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background: rgba(0,0,0,.05);
  border: 1px solid rgba(0,0,0,.18);
}

  .sfm-social-btn img{ 
    width:32px; height:32px; 
    display:block; 
  }

  .img-logo-ext-footer {
    width:clamp(130px,8vw, 150px);
  }
  
  .img-logo-ext-footer-sbf {
    max-width:150px;
  }
}

/* tablet -> stack contact into 1 column */
@media (max-width: 860px){
.sfm-top-inner{
  grid-template-columns: 1fr;
}
.sfm-mid-inner{
  grid-template-columns: 1fr;
}
}
