.footercontent {  color: #FFF; margin-top: auto;  border-radius: var(--section-radius) var(--section-radius) 40px 40px; margin: 16px 0; overflow: hidden  }

.footercontent > div { padding: 24px var(--section-padding);  }


#footer::before { content:""; display: block;  background: linear-gradient(to top, #000000, var(--bg_blue, #111921)); width: 100%; height:600px;
    position: absolute; bottom:calc(100% - 1px); }

#footer {
    position: relative; padding-top: var(--masthead-height);}
#footer figure.header_image { z-index: 0; }
#footer figure.header_image img{  object-position: center top; }

/*
#footer ul { margin-bottom: 12px; }

*/

#footer li,
:is(#footernav,#footerinfo) p {
    font-size: 18px; line-height: 1.2; margin-bottom: 1em;
}
#footer li:last-child { margin-bottom: 0; }

#footer p:not(.cta):not(.logo):not(#copyright):not(#design) { line-height:140%;  max-width: 32em; margin:1em 1em 1em 0; }

#bottom p { }

#footer h3,

#footer #footernav div:first-child>ul>li>a {
 display: inline-block;
    font-size: 24px; line-height: 1.25;

    font-family: futura-pt, sans-serif; font-weight: 700;
}
#footerinfo h2 {   font-family: futura-pt, sans-serif; font-weight: 700; line-height: 1.25;border-bottom: 1px solid var(--blue); padding-bottom: calc(var(--bodytext_size) - 0.1em); margin-bottom:var(--bodytext_size); }

#footer #footernav { background-color: var(--bg_blue)}
#footer #footernav div:first-child>ul>li:has(ul)>a {
    margin-bottom: 18px;
}


div#footerinfo p.logo,
#footernav h2 {font-size: 32px; line-height: normal;font-weight: 700;color: white; display: block;
    padding-bottom: calc(1em - 0.1em); margin-bottom: 1em; border-bottom: 1px solid var(--light_blue); line-height: 1;
}
div#footerinfo p.logo { border-bottom-color: transparent;  padding-bottom: 0; margin-top: 0;}
div#footerinfo p.logo a {
    display: block;/* width: 100%;*/

}


 


#footer a { color: inherit;}
/*#footer .cta a { background-color:var(--blue); color:var(--black); white-space: nowrap; }

#footer .cta a:hover { }
#footer .cta a:is(:hover,:focus-visible) { background: var(--white); }
#footer .cta a:focus-visible {   }

*/



div#footerinfo p { font-size: 18px; line-height: 140%; }
div#footerinfo div:first-child .logo ~ p { font-size: 20px; line-height: 150%; }


div#footerinfo { background-color: var(--container_blue);   }
#footer>div#footernav{ background: var(--bg_blue);   border: 1px solid transparent; }



@media all and (max-width: 1199.98px) {
    #footer > div#footerinfo {
        background-size: auto 96%;
    }

}



#footer>div#footernav >div { display: flex; justify-content: space-between; flex-wrap: wrap }


div#footerinfo > div { display: flex; flex-wrap: wrap; gap:var(--gutter_big); }
div#footerinfo >div:last-child { margin-left: auto; }
div#footerinfo> div > div:nth-child(1) {
    width: 100%;
}
div#footerinfo> div> div:nth-child(2),
div#footerinfo > div> div:nth-child(3) {
    width: var(--grid-half);
}
@media all and (min-width: 1200px) {
    div#footerinfo> div > div:nth-child(1) {
        width: var(--grid-half);
    }

    div#footerinfo> div> div:nth-child(2),
    div#footerinfo > div> div:nth-child(3) {
        width: var(--grid-quarter);
    }
}
@media all and (max-width: 599.98px) {
    div#footerinfo> div> div:nth-child(2),
    div#footerinfo > div> div:nth-child(3) {
        width: 100%;
    }
}

div#footerinfo>div:first-child>p:first-child { margin: 0 0 16px; }
div#footerinfo>div:first-child>p:first-child>a { display:inline-block;}
div#footerinfo svg path { fill:white;  }

div#footerinfo a {position: relative; display:inline-block;  transition: all .2s ease-in-out; }
div#footerinfo p.logo a:is(:hover,:focus-visible) {
    opacity: 0.7; background: none !important;
}

div#footerinfo p:not(.logo) a::before {
    content: '';
    background-color: rgba(255,255,255,0.5);
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 100%;
    height: 1px;
    z-index: -1;
    transition: all .2s ease-in-out;
}


div#footerinfo p:not(.logo) a[href^="mailto:"]::before,
div#footerinfo p:not(.logo) a[href^="tel:"]::before { display: none !important; }

div#footerinfo p:not(.logo) a[href^="mailto:"],
div#footerinfo p:not(.logo) a[href^="tel:"] {
    display:inline-flex; align-content: center; align-items: center; margin-top:0.75em;
}
div#footerinfo p:not(.logo) a[href^="mailto:"]::after,
div#footerinfo p:not(.logo) a[href^="tel:"]::after { order: -1; transition: all .2s ease-in-out;
    font-family: "esero"; font-size: 22px;
    display: flex; align-content: center; align-items: center; justify-content: center; min-width: 40px; margin-right: 0.75em; width: 40px; height: 40px; border-radius: 50%; border:2px solid white; content:"\e801";
}
div#footerinfo p:not(.logo) a[href^="tel:"]::after {   content:"\e80a";}


div#footerinfo p:not(.logo) a:is([href^="mailto:"],[href^="tel:"]):hover::after {
    background-color: rgba(255,255,255,1); color:var(--black);

}


div#footerinfo p:not(.logo) a:is([href^="mailto:"],[href^="tel:"]) span {
    border-bottom: 1px solid var(--white);

}






#bottom   {  background: var(--black); color: white; overflow: hidden }
#bottom > div  { display: flex; flex-wrap: wrap;   }
#bottom a { color: white; }
#bottom button {
    color: inherit;
    background: none;
    cursor: pointer;
    font-family: inherit;
    font-size: inherit;
}


#bottom .wrapper {   padding-top:16px; padding-bottom:16px; }

#bottom ul { display: flex;  flex-wrap: wrap; margin: 0;    }
#bottom ul li,
#bottom p:not(.cta) { font-size: 14px; margin: 0.5em var(--gutter) 0.5em 0; }
#bottom p:not(.cta)  {  margin: 0.5em 0 0.5em 0; line-height: 1.2; }
#bottom p#copyright  { margin-top: 2em; }
@media all and (min-width: 900px) {
    #bottom p#copyright  {  margin-left: auto; margin-top: 0.5em; }
}
@media all and (max-width: 899.98px) {
    #bottom ul {
        width: 100%;
    }
}

#bottom p#design  { width:100%; max-width:1800px !important; margin-top: 2em; font-size: 14px;  }
#bottom p#design a { color: #A4A4A8; display: inline-block;  position: relative; background: none; transition: all 0.2s ease; }
#bottom p#design a strong { font-weight: 700; }
#bottom p#design a span {
    position: relative;}
#bottom p#design a::before {
    content: ''; background-color:transparent;
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 1px;
    z-index: 0;
    transition: all .15s ease-in-out;
}

#bottom p#design a:is(:hover,:focus-visible)::before {    bottom: 0; height: 100%; background: var(--white);  padding:4px 12px; border-radius: 300px;
    width: calc(100% + 24px); height: calc(100% + 8px); bottom: -4px; left: -12px;
}



#bottom p#design a:is(:hover,:focus-visible) {    color:black; /*font-size: 12px;*/  }


@media all and (max-width: 899.98px) {
    #bottom p#design  {   margin-top:1em;}

}

#footerinfo,
#footernav  { padding-top: 48px;padding-bottom: 48px;  }


@media all and (min-width: 900px) {
    #footerinfo,
    #footernav  { padding-top: 64px;padding-bottom: 64px;  }

    #bottom .wrapper { display: flex; align-items: flex-start;  flex-wrap: wrap;   }
    #bottom ul+p { margin-left: auto;}

    #footernav >div:first-child > ul {
        column-count: 2;
        column-gap: var(--gutter);
        column-fill: balance;
    }


    #footernav > div:first-child > ul > li {
        break-inside: avoid-column; /*padding: 2em 0 0;*/ margin-bottom: 2em;
    }
}

@media all and (min-width: 1200px) {

    #footernav  >div:first-child > ul {
        column-count: 3;

    }

    #footernav .wrapper>div:first-child
    {width:var(--grid-threequarters); }
    #footernav .wrapper>div:nth-child(2)
    { width:var(--grid-quarter);   }


}
@media all and (min-width: 1500px) {


}
@media all and (max-width: 1299.98px) {

  /*  #bottom ul+p,#bottom p#design { margin-top: 1.5em; width: 100%; margin-left: 0}*/
}
@media all and (max-width: 1199.98px) {
    /*   div#footerinfo .wrapper>div { width:calc(50% - 32px);  width:calc(50% - (var(--gutter) / 2));   }*/

    #footer>div#footernav .wrapper>div:first-child { width:var(--grid-twothirds);   }
    #footer>div#footernav .wrapper>div:nth-child(2) { width:var(--grid-third);   }


}
@media all and (max-width: 899.98px) {


    #footer>div#footernav .wrapper>div:first-child ,
    #footer>div#footernav .wrapper>div:nth-child(2) { width:100%;   }

    #footer>div#footernav .wrapper>div:first-child { margin-bottom: 20px;}

    #footernav  >div:first-child > ul {
        column-count: 2;

    }
    #footernav  >div:first-child > ul > li {
        break-inside: avoid-column;  margin-bottom: 0;
    }
    #footernav  >div:first-child > ul > li:not(:last-child) { margin-bottom: 2em;}


    #footer>div#footernav{  padding-bottom: 32px;     }


    #bottom ul li { width: calc(50% - 16px); margin-right: 32px;}
    #bottom ul li:nth-child(2n+2) { margin-right: 0; }
    #bottom ul+p { margin-top: 1.5em;}
}
@media all and (max-width: 899.98px) {

    div#footerinfo .wrapper { display: block; }
    div#footerinfo .wrapper>div:not(:last-child) { margin-bottom: 24px;}
}
@media all and (max-width: 599.98px) {


    #footernav  >div:first-child > ul {

        column-count:1;
    }



    div#footerinfo .wrapper>div { width: 100%;}
    div#footerinfo .wrapper>div:first-child,
    div#footerinfo .wrapper>div:nth-child(2),
    div#footerinfo .wrapper>div:nth-child(3) { width: 100%;}

    div#footerinfo .wrapper>div:not(:last-child) { margin-bottom: 32px; }


    #bottom ul li { width: calc(50% - 16px); margin-right: 32px;}
    #bottom ul li:nth-child(2n+2) { margin-right: 0; }
}


 :is(#footernav,#bottom) :is(p,li):not(.cta):not(.logo)> a{
    color: inherit;
    background-image: linear-gradient(rgba(255,255,255,0.5), rgba(255,255,255,0.5)), linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
    background-position: 0 100%, 0 100%;
    background-repeat: no-repeat, no-repeat;
    background-size: 100% 1px, 100% 1px;
    transition: background-size .2s;

    font-weight: 700;
}
:is(#footernav,#bottom) :is(p,li):not(.cta):not(.logo)> a:is(:hover,:focus-visible) {
    color: black;
    background-image: linear-gradient(var(--white), var(--white)), linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 0));
    background-size: 100% 100%, 100% 100%;
    transition: background-size .2s;
}


#footer_partners { background-color: white; color:var(--black);   --logo-height: 64px; }
#footer_partners  , #footer_partners ul  {  display: flex; flex-wrap: wrap; align-items: center; column-gap: calc(var(--gutter_big) * 1.5); }

#footer_partners :is(h2,li) { margin: var(--bodytext_size) 0 !important; font-size: 24px; font-family: futura-pt,sans-serif; font-weight: 700; }

#footer_partners ul picture { display: block; width: auto; height: var(--logo-height); }
#footer_partners ul picture img { display: block; width: auto; height: var(--logo-height); }
#footer_partners a {
    position: relative; display: block;
}
#footer_partners a:focus-visible {
    outline: 3px solid #000; box-shadow: 0 0 0 6px #fff;
}


@media all and (max-width: 599.98px) {

    #footer_partners {
        --logo-height: 48px;
    }
    #footer_partners ul{
      /*  gap:var(--bodytext_size);*/
    }
    #footer_partners li{
        margin: 0 0 var(--bodytext_size) !important;
    }
}