/* Footer Specific CSS */

/* Page Footer */
.pagefooter {
  /* Footer container styles would be defined here if they exist in the original CSS */
}

.pagefooter__bottom {
  /* Bottom footer section styles */
	text-align: center;
}

.pagefooter__bottom-content {
  /* Bottom content layout */
}

.pagefooter__bottom-item {
  /* Bottom item styles */
}

.pagefooter__bottom-copyright {
  /* Copyright section styles */
}

.pagefooter__copyright {
  /* Copyright text styles */
}

.pagefooter__bottom-nav {
  /* Bottom navigation section */
}

.pagefooter__nav {
  /* Footer navigation styles */
}

.pagefooter__nav-list {
  /* Footer navigation list */
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 1rem;
}

.pagefooter__nav-item {
  /* Footer navigation item */
}

.pagefooter__nav-link {
  /* Footer navigation links */
  color: var(--link-color);
  text-decoration: none;
  font-weight: var(--typo-font-weight-bold);
}

.pagefooter__nav-link:hover {
  text-decoration: underline;
}

/* Copyright Component */
.copyright {
  /* Copyright container */
}

.copyright--absolute {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.5);
  padding: 0.25rem 0.5rem;
}

.copyright__text {
  font-family: var(--typo-text-font-family);
  font-weight: var(--typo-text-font-weight);
  line-height: var(--typo-text-line-height);
  font-style: var(--typo-text-font-style);
  margin-top: 0;
  margin-bottom: var(--typo-text-spacing);
  font-size: var(--typo-xs-font-size);
  font-family: var(--typo-xs-font-family, var(--typo-text-font-family));
  font-weight: var(--typo-xs-font-weight, var(--typo-text-font-weight));
  line-height: var(--typo-xs-line-height, var(--typo-text-line-height));
  font-style: var(--typo-xs-font-style, var(--typo-text-font-style));
  color: white;
  margin: 0;
}

.copyright__text a {
  color: inherit;
}

/* Logo Wall Component */
.logowall {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  padding: 2rem 0;
}

@media(min-width: 768px) {
  .logowall {
    gap: 3rem;
    padding: 3rem 0;
  }
}

.logowall__item {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  text-decoration: none;
}

.logowall__logo {
  max-width: 100%;
  height: auto;
  display: block;
  filter: grayscale(100%);
  opacity: 0.7;
  transition: filter 0.3s ease, opacity 0.3s ease;
}

.logowall__item:hover .logowall__logo {
  filter: grayscale(0%);
  opacity: 1;
}

/* Icon List for Social Media */
.iconlist {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 1rem;
  justify-content: center;
}

.iconlist__item {
  display: flex;
}

.iconlist__link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  text-decoration: none;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.iconlist__link:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

.iconlist__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
}

.iconlist__icon .icon__svg {
  width: 100%;
  height: 100%;
}

/* Social Media Icons Specific Styles */
.ndssocials-icons {
  /* Container for social media icons */
}

.ndssocials-icons__color--original {
  /* Original color scheme for social icons */
}

.ndssocials-icons__facebook .iconlist__link {
  background-color: #1877f2;
  color: white;
}

.ndssocials-icons__youtube .iconlist__link {
  background-color: #ff0000;
  color: white;
}

.ndssocials-icons__instagram .iconlist__link {
  background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
  color: white;
}

/* Stage Component Styles for Footer Context */
.stage {
  position: relative;
  display: grid;
  grid-template-columns: [full-start] 1fr [main-start] minmax(2rem, 95rem) [main-end] 1fr [full-end];
  grid-template-rows: 1fr;
  gap: 0;
  justify-content: center;
  align-content: start;
  justify-items: stretch;
  align-items: start;
}

@media(min-width: 1280px) {
  .stage {
    grid-template-columns: [full-start] 1fr [main-start] minmax(3rem, 95rem) [main-end] 1fr [full-end];
  }
}

.stage__container {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  grid-auto-rows: auto;
  grid-area: main;
}

.stage__container--single {
  grid-area: main;
}

.stage__container--multiple-columns {
  --text-max-width: none;
}

.stage__container--triple .stage__col {
  grid-column: span 12;
}

@media(min-width: 768px) {
  .stage__container--triple .stage__col {
    grid-column: span 4;
  }
  
  .stage__container--triple .stage__col--leftcolumn .stage__content {
    padding-right: 2rem;
  }
  
  .stage__container--triple .stage__col--centercolumn .stage__content {
    padding-left: 2rem;
    padding-right: 2rem;
  }
  
  .stage__container--triple .stage__col--rightcolumn .stage__content {
    padding-left: 2rem;
  }
}

.stage__col {
  position: relative;
  width: 100%;
  grid-column: span 12;
}

.stage__content {
  padding-left: 2rem;
  padding-right: 2rem;
}

@media(min-width: 1280px) {
  .stage__content {
    padding-left: 3rem;
    padding-right: 3rem;
  }
}

.stage__content--align-left {
  --align-content: flex-start;
  --text-align: left;
  justify-content: flex-start;
}

.stage__content--align-center {
  --align-content: center;
  --text-align: center;
  justify-content: center;
}

.stage__content--pt-1 {
  padding-top: 2rem;
}

@media screen and (min-width: 576px) {
  .stage__content--pt-1 {
    padding-top: calc(2rem + 4*(100vw - 576px)/192);
  }
}

@media screen and (min-width: 768px) {
  .stage__content--pt-1 {
    padding-top: 6rem;
  }
}

.stage__content--pb-1 {
  padding-bottom: 2rem;
}

@media screen and (min-width: 576px) {
  .stage__content--pb-1 {
    padding-bottom: calc(2rem + 4*(100vw - 576px)/192);
  }
}

@media screen and (min-width: 768px) {
  .stage__content--pb-1 {
    padding-bottom: 6rem;
  }
}

/* Color Schemes for Footer */
.scheme--light-2 {
  --color: var(--color-scheme-light-2-color);
  --background-color: var(--color-scheme-light-2-background-color);
  --link-color: var(--color-scheme-light-2-link-color);
  --link-color-hover: var(--color-scheme-light-2-link-color-hover);
  color: var(--color);
  background-color: var(--background-color);
  border-color: var(--border-color);
}

.scheme--base {
  --background-color: var(--color-scheme-base-background-color);
  --background-complementary-color: var(--color-scheme-base-background-complementary-color);
  --color: var(--color-scheme-base-color);
  --link-color: var(--color-scheme-base-link-color);
  --link-color-hover: var(--color-scheme-base-link-color-hover);
  --border-color: var(--color-scheme-base-border-color);
  color: var(--color);
  background-color: var(--background-color);
  border-color: var(--border-color);
}

/* Content Wrapper */
.content-wrap {
  display: flex;
  justify-content: inherit;
}

.content-wrap--content-width {
  max-width: 95rem;
  margin: 0 auto;
  width: 100%;
}

/* Article Components for Footer */
.article-wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
  grid-column: main;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  justify-content: inherit;
}

.article-container {
  width: 100%;
  container-type: inline-size;
  container-name: article;
}

.article {
  width: 100%;
  margin-bottom: 1rem;
}

.article:last-child {
  margin-bottom: 0;
}

.article__header {
  max-width: 100%;
  margin-bottom: 1rem;
  text-align: left;
  margin-right: auto;
}

.article__header.text-align-left {
  margin-left: 0;
  margin-right: auto;
}

.article__header.text-align-center {
  margin-left: auto;
  margin-right: auto;
}

.article__text {
  /* Article text styles inherited from base typography */
}

.article__text.text-align-left {
  text-align: left;
}

.article__text.text-align-center {
  text-align: center;
}

/* Media Item for Footer Logos */
.media-item {
  position: relative;
  line-height: 0;
}

.media-item--image {
  /* Image media item */
}

.media-item__figure {
  position: relative;
  height: 100%;
  max-height: 100%;
  margin: 0;
}

.media-item__link {
  display: block;
  position: relative;
  height: 100%;
}

.media-item__meta {
  position: relative;
}

.article__figure {
  margin: 0 auto;
}

.article__media {
  --spacing: 1em;
  --max-width: 100%;
  margin: 0 0 var(--spacing);
  height: auto;
  max-width: var(--max-width);
  display: flex;
  flex-direction: column;
  gap: var(--spacing);
}

.article__media--center {
  text-align: center;
  max-width: unset;
}

.article__media--center .article__figure {
  display: grid;
  justify-content: center;
  align-content: baseline;
  align-self: center;
}

/* Typography for Footer */
.header__line {
  margin: 0;
}

.header__head {
  font-weight: var(--typo-font-weight-bold);
}

.header__sub {
  margin-top: 0.5rem;
  font-weight: var(--typo-font-weight-regular);
}

/* Typography Classes used in Footer */
.typo-m {
  font-family: var(--typo-hx-font-family);
  font-weight: var(--typo-hx-font-weight);
  line-height: var(--typo-hx-line-height);
  font-style: var(--typo-hx-font-style);
  margin-top: 0;
  margin-bottom: 0;
  font-size: var(--typo-m-font-size);
}

.typo-l {
  font-family: var(--typo-hx-font-family);
  font-weight: var(--typo-hx-font-weight);
  line-height: var(--typo-hx-line-height);
  font-style: var(--typo-hx-font-style);
  margin-top: 0;
  margin-bottom: 0;
  font-size: var(--typo-l-font-size);
}

/* Utility Classes */
.text-align-left {
  text-align: left !important;
}

.text-align-center {
  text-align: center !important;
}

.visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

/* Icon Styles for Footer */
.icon {
  display: inline-flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  line-height: 1;
}

.icon__svg {
  order: 0;
  flex: 0 1 auto;
  align-self: auto;
  fill: currentcolor;
  height: 1em;
  width: 1em;
}

