footer.enf2,
footer.enf2 * {
  box-sizing: border-box;
}

footer.enf2 {
  font-family: var(--footer-font-family);
  font-size: var(--footer-font-size);
  line-height: var(--footer-line-height);
  color: var(--footer-font-color);
  margin: var(--margin-top) 0 0 0;
}

footer.enf2>div.enf-main {
  padding: var(--footer-main-padding-top) var(--footer-inner-margin-left-right) var(--footer-main-padding-bottom);
  background: var(--footer-main-background);
  position: relative;
}

footer.enf2 a:any-link {
  text-decoration: none;
  color: inherit;
  white-space: nowrap;
}


footer.enf2 .enf-subfooter a:any-link:hover {
  color: var(--subfooter-font-hover-color);
}


footer.enf2 .en-powered-by {
  background: var(--poweredby-background-color);
}

footer.enf2 .en-powered-by a:any-link {
  color: var(--poweredby-color);
}


footer.enf2>div.enf-main>div.enf-main-inner {
  width: min(100%, var(--en-website-width));
  margin: 0 auto;
  display: grid;
  column-gap: var(--footer-inner-column-gap);
  row-gap: var(--footer-inner-row-gap);
  justify-content: space-between;
  align-items: center;
  flex-wrap: var(--footer-inner-flex-wrap);
}

@media (min-width: 1200px) {
  footer.enf2.w1200>div.enf-main>div.enf-main-inner {
    height: var(--footer-inner-height);
  }
}

@media (max-width: 1200px) {
  footer.enf2.w1200>div.enf-main>div.enf-main-inner {
    height: auto;
  }
}

@media (min-width: 1100px) {
  footer.enf2.w1100>div.enf-main>div.enf-main-inner {
    height: var(--footer-inner-height);
  }
}

@media (max-width: 1100px) {
  footer.enf2.w1100>div.enf-main>div.enf-main-inner {
    height: auto;
  }
}


footer.enf2>div.enf-main>div.enf-main>* {
  overflow: hidden;
}

footer.enf2 .enf-logo-wname {
  grid-area: enf-logo-wname;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: nowrap;
}

footer.enf2 .enf-logo-cont {
  position: relative;
  display: flex;
  align-items: start;
  margin-top: var(--logo-margin-top);
  grid-area: enf-logo;
  width: var(--logo-width);
}

footer.enf2 .enf-logo-cont img {
  max-width: 100%;
  max-height: 100%;
  object-fit: scale-down;
  flex-grow: 0;
  box-sizing: border-box;
}

footer.enf2 div.enf-website-name-motto {
  display: flex;
  line-height: var(--website-name-line-height);
}

footer.enf2 div.enf-website-name {
  align-self: start;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  font: var(--website-name-font);
  letter-spacing: var(--website-name-letter-spacing);
  row-gap: 4px;
}

footer.enf2 div.enf-website-name br {
  display: var(--website-name-line-break-display);
}

footer.enf2 div.enf-website-motto {
  letter-spacing: var(--website-motto-letter-spacing);
  font: var(--website-motto-font);
  color: var(--website-motto-color);
}

footer.enf2 div.enf-contact {
  grid-area: enf-contact;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  height: 100%;
  padding: var(--contact-padding);
}

footer.enf2 div.enf-contact div.enf-contact-inner {
  width: min-content;
  display: inline-flex;
  justify-content: flex-start;
  align-items: center;
  gap: var(--contact-gap);
  color: var(--contact-font-color);
  font: var(--contact-font);
  letter-spacing: var(--contact-letter-spacing);
}

footer.enf2 div.enf-address,
footer.enf2 div.enf-phone {
  display: flex;
  justify-content: center;
  align-items: center;
  color: var(--contact-font-color);
  font: var(--contact-font);
  letter-spacing: var(--contact-letter-spacing);
}


footer.enf2 div.enf-misc {
  grid-area: enf-misc;
  box-sizing: border-box;
  height: var(--misc-height);
  align-self: center;
  font-family: var(--misc-font-family);
  font-size: var(--misc-font-size);
  color: var(--misc-font-color);
  padding: var(--misc-padding);
  display: flex;
  flex-direction: row;
  gap: var(--misc-gap);
  justify-content: flex-end;
  align-items: center;
  overflow: hidden;
  flex: var(--misc-flex);
}


footer.enf2 div.enf-misc a {
  display: flex;
  justify-content: center;
  max-height: 100%;
  max-width: 100%;
}

footer.enf2 div.enf-misc img {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

footer.enf2 div.enf-subfooter {
  grid-area: enf-sub;
  background: var(--subfooter-background);
  padding: var(--subfooter-padding-top) var(--subfooter-padding-left-right) var(--subfooter-padding-bottom);
  font-family: var(--subfooter-font-family);
  font-size: var(--subfooter-font-size);
  color: var(--subfooter-font-color);
}

footer.enf2 div.enf-subfooter>div.enf-subfooter-inner {
  margin: 0 auto;
  width: min(100%, var(--en-website-width));
  display: grid;
  grid-template-columns: 1fr var(--subfooter-centercont-width) 1fr;
  grid-template-rows: 100%;
}

footer.enf2 div.enf-subfooter>div.enf-subfooter-inner>div {
  overflow: hidden;
  display: flex;
  gap: 12px;
}

footer.enf2 div.enf-subfooter>div.enf-subfooter-inner>div.enf-subfooter-left {
  justify-content: flex-start;
}

footer.enf2 div.enf-subfooter>div.enf-subfooter-inner>div.enf-subfooter-center {
  justify-content: space-evenly;
}

footer.enf2 div.enf-subfooter>div.enf-subfooter-inner>div.enf-subfooter-right {
  justify-content: flex-end;
}


footer.enf2 div.enf-subfooter>div.enf-subfooter-inner img {
  max-width: 100%;
  max-height: 100%;
  object-fit: scale-down;
}

@media (max-width: 1200px) {
  footer.enf2.w1200 {
    --footer-inner-height: auto;
  }

  footer.enf2.w1200 div.enf-contact div.enf-contact-inner {
    flex-wrap: wrap;
  }
}

@media (max-width: 1000px) {
  footer.enf2.w1100 {
    --footer-inner-height: auto;
  }

  footer.enf2.w1100 div.enf-contact div.enf-contact-inner {
    --footer-inner-height: auto;
    flex-wrap: wrap;
  }
}


footer.enf2.enf2-1-2 div.enf-website-name-motto,
footer.enf2.enf2-1-3 div.enf-website-name-motto {
  display: none;
}

@media (min-width: 768px) {

  footer.enf2>div.enf-main>div.enf-main-inner {
    grid-template-areas: "enf-logo-wname enf-contact enf-misc";
    grid-template-columns: auto 1fr var(--misc-width);
  }

  footer.enf2.enf2-1-2>div.enf-main>div.enf-main-inner {
    grid-template-areas: "enf-logo-wname enf-contact enf-misc";
    grid-template-columns: auto 1fr auto;
  }

  footer.enf2.enf2-1-3>div.enf-main>div.enf-main-inner {
    grid-template-areas: "enf-contact enf-logo-wname enf-misc";
    grid-template-columns: 1fr auto 1fr;
  }
}

@media (max-width: 768px) {

  footer.enf2.enf2-1-2>div.enf-main>div.enf-main-inner,
  footer.enf2.enf2-1-3>div.enf-main>div.enf-main-inner,
  footer.enf2>div.enf-main>div.enf-main-inner {
    grid-template-areas: "enf-logo-wname enf-logo-wname" "enf-contact enf-misc";
    grid-template-columns: auto 1fr;
  }

  footer.enf2 div.enf-contact {
    justify-content: left;
  }

  footer.enf2 div.enf-misc {
    align-self: flex-end;
  }

  footer.enf2 div.enf-subfooter>div.enf-subfooter-inner>div.enf-subfooter-left,
  footer.enf2 div.enf-subfooter>div.enf-subfooter-inner>div.enf-subfooter-center,
  footer.enf2 div.enf-subfooter>div.enf-subfooter-inner>div.enf-subfooter-right {
    flex-wrap: wrap;
  }
}

@media (max-width: 576px) {

  footer.enf2.enf2-1-2>div.enf-main>div.enf-main-inner,
  footer.enf2.enf2-1-3>div.enf-main>div.enf-main-inner,
  footer.enf2>div.enf-main>div.enf-main-inner {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
  }

  footer.enf2 .enf-logo-wname,
  footer.enf2 .enf-logo-cont,
  footer.enf2 div.enf-contact,
  footer.enf2 div.enf-misc {
    justify-self: center;
    justify-content: center;
    flex-wrap: wrap;
    align-self: center;
  }
}


@media (min-width: 768px) {
  footer.enf2.enflogo-1-2 .enf-logo-cont {
    align-self: center;
  }

  footer.enf2.enflogo-1-3 .enf-logo-cont {
    align-self: end;
  }
}


footer.enf2.enflogo-2-2 .enf-logo-cont img {
  max-width: calc(100% - 2px);
  max-height: calc(100% - 2px);
  border: 1px solid var(--logo-border-color);
}

footer.enf2.enflogo-2-3 .enf-logo-cont img {
  max-width: calc(100% - 4px);
  max-height: calc(100% - 4px);
  border: 2px solid var(--logo-border-color);
}

footer.enf2.enflogo-3-2 .enf-logo-cont img {
  border-radius: 50%;
}

footer.enf2.enflogo-4-2 .enf-logo-cont {
  overflow: visible;
}

footer.enf2.enflogo-4-2 .enf-logo-cont img {
  box-shadow: 0 0 10px var(--logo-shadow-color);
}

footer.enf2.enflogo-4-3 .enf-logo-cont img {
  box-shadow: 0 0 15px var(--logo-shadow-color);
}

footer.enf2.enflogo-4-4 .enf-logo-cont img {
  box-shadow: 0px 10px 6px -6px var(--logo-shadow-color);
}

footer.enf2.enflogo-4-5 .enf-logo-cont img {
  box-shadow: 0px -10px 6px -6px var(--logo-shadow-color);
}