#footer {
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
  -ms-align-items: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  font-size: var(--small-font);
  width: 100vw;
  width: 100lvw;
}

#footer > * {
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: var(--larger-size);
  padding: var(--larger-size);
  padding: var(--larger-size) calc((100lvw - 100svw) + var(--larger-size));
}

#footer > :nth-child(2n + 1) {
  background-color: var(--alt-back-color);
  /*background: linear-gradient(
    var(--alt-grad-dir),
    var(--alt-grad-from-offset),
    var(--alt-grad-to)
  );*/
  border: var(--small-line) solid var(--main-front-color);
  border-left: none;
  border-right: none;
  color: var(--main-back-color);
}

#footer > * > * {
  max-width: var(--max-width);
  text-align: center;
  width: 100%;
}

#footer h3,
.footer-main-item-standalone {
  font-size: var(--normal-font);
  font-weight: bold;
}

#footer li {
  list-style: none;
}

#footer-kontakty {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  gap: var(--micro-size) var(--small-size);
}

#footer-logo {
  max-height: var(--small-distance);
  max-width: 100%;
}

#footer-logo-a {
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
}

#footer-logos {
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: var(--small-size);
}

#footer-main-wrapper {
  display: -webkit-grid;
  display: -ms-grid;
  display: grid;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
  row-gap: var(--larger-size);
}

#footer-main-wrapper h3,
.footer-menu-item {
  line-height: var(--normal-font);
  padding: var(--mini-size) 0;
}

#footer-main-wrapper * {
  text-align: left;
}

#footer-navstevnik-ztracen {
  -webkit-align-items: center;
  -moz-align-items: center;
  -ms-align-items: center;
  align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--medium-size) var(--larger-size);
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
}

#footer-navstevnik-ztracen a {
  font-weight: bold;
}

#footer-navstevnik-ztracen a:hover {
  opacity: var(--hover-opacity);
}

#footer-navstevnik-ztracen i {
  font-size: var(--larger-font);
}

#footer-pojistovny {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  gap: var(--micro-size) var(--medium-size);
  -webkit-flex-wrap: wrap;
  -moz-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  -moz-justify-content: center;
  justify-content: center;
}

#footer-pojistovny-vem-si-karticku {
  -webkit-align-self: stretch;
  -moz-align-self: stretch;
  -ms-align-self: stretch;
  align-self: stretch;
  font-size: var(--larger-font);
  font-weight: bold;
  padding-bottom: var(--smaller-size);
  text-transform: uppercase;
}

#footer-pojistovny-vem-si-karticku i {
  color: var(--mild-warning-color);
  font-size: var(--great-font);
}

#footer-pojistovny-wrapper {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: var(--smaller-size);
}

.footer-kontakt-button {
  font-weight: bold;
}

.footer-kontakt-button i {
  font-size: var(--large-font);
}

:is(.footer-kontakt-button, .footer-menu-item):hover,
.footer-pojistovna-kod {
  opacity: var(--hover-opacity);
}

.footer-lang-item {
  height: var(--larger-font);
}

.footer-menu {
  -webkit-align-items: stretch;
  -moz-align-items: stretch;
  -ms-align-items: stretch;
  align-items: stretch;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
  -moz-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
}

.footer-menu-item {
  display: inline-block;
  width: 100%;
}

.footer-menu-item-details {
  text-decoration: none;
}

.footer-menu-item-title {
  font-weight: bold;
}


@media (max-width: 768px) {

  #footer-main-sluzby {
    grid-row: span 2;
  }

  #footer-main-wrapper {
    -webkit-column-gap: var(--large-size);
    -moz-column-gap: var(--large-size);
    column-gap: var(--large-size);
    -webkit-grid-auto-flow: dense;
    -ms-grid-auto-flow: dense;
    grid-auto-flow: dense;
    -webkit-grid-template-columns: repeat(auto-fit, minmax(min(var(--medium-distance), 100%), 1fr));
    -ms-grid-template-columns: repeat(auto-fit, minmax(min(var(--medium-distance), 100%), 1fr));
    grid-template-columns: repeat(auto-fit, minmax(min(var(--medium-distance), 100%), 1fr));
  }

}

@media (min-width: 769px) {

  #footer-main-wrapper {
    -webkit-column-gap: var(--great-size);
    -moz-column-gap: var(--great-size);
    column-gap: var(--great-size);
    -webkit-grid-template-columns: repeat(auto-fit, minmax(var(--medium-distance), max-content));
    -ms-grid-template-columns: repeat(auto-fit, minmax(var(--medium-distance), max-content));
    grid-template-columns: repeat(auto-fit, minmax(var(--medium-distance), max-content));
  }

}
