/* ---Footer CSS---*/

:root {
    --footer-height: 200px;
  }
  
  .footer {
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    font-family: var(--font-family-content);
  }
  
  .footer-filler {
    flex-grow: 1;
  }
  
  .footer-content {
    display: flex;
    flex-direction: column;
    font-size: 18px;
    letter-spacing: 0.05rem;
    line-height: var(--font-line-height-content-medium);
  }
  
  /* ************************************************************ */
  
  
  .footer-heading {
    font-size: var(--font-size-headline-large);
    font-weight: var(--font-weight-headline);
    padding-bottom: 15px;
  }
  
  .footer-heading-small {
    color: var(--color-primary-white);
    padding-top: 16px;
  }
  
  .footer-text {
    color: var(--color-primary-white);
  }
  
  .footer-paragraph {
    padding-top: 5px;
    padding-bottom: 15px;
    padding-right: 50px;
    max-width: 750px;
  }
  
  .footer-link-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
  }
  
  .footer a .footer-email {
    font-size: var(--font-size-link-large);
    font-weight: var(--font-weight-link);
    color: var(--color-primary-white);
  }
  
  .footer-link {
    display: flex;
  }
  
  .footer a {
    text-decoration: none;
  }
  
  .footer a .footer-link {
    font-size: var(--font-size-link-large);
    font-weight: var(--font-weight-link);
    display: flex;
    color: var(--color-primary-white);
    cursor: pointer;
    text-decoration: none;
  }
  
  .footer-link-text {
    color: var(--color-primary-white);
    font-size: var(--font-size-link-large);
  }
  
  .footer-link-text a {
    font-size: var(--font-size-link-large);
    display: flex;
    color: var(--color-primary-white);
  }
  
  .footer-link:hover .footer-link-text,
  .footer-email:hover a {
    text-decoration: underline;
    text-underline-position: auto;
  }
  
  .footer-link-icon {
    display: flex;
    padding-right: 15px;
  }
  
  .link-icon-small {
    font-size: var(--font-size-icon-extra-small) !important;
  }
  
  .icon-open-in-new {
    padding-left: 5px;
    display: flex;
    flex-direction: column;
    align-items: end;
    justify-content: end;
    padding-bottom: 5px;
  }
  
  .footer-link .icon-arrow {
    transform: translateX(0px);
    transition: transform 0.5s;
  }
  
  .footer-link:hover .icon-arrow {
    transform: translateX(10px);
    transition: transform 0.75s;
  }
  
  
  /* ************************************************************ */
  /* Melinda banner specific styles in footer*/
  
  .melinda-banner {
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    color: var(--color-primary-white);
    background-color: var(--color-melinda-green);
    padding: 48px;
    gap: 25px;
  }
  
  .melinda-logo-and-contact-info {
    display: flex;
    flex-direction: column;
    flex-basis: 0;
    flex-grow: 1;
  }
  
  .melinda-about,
  .melinda-links,
  .melinda-social-media {
    display: flex;
    flex-direction: column;
  }
  
  .melinda-links,
  .melinda-social-media {
    flex-basis: 0;
    flex-grow: 1;
  }
  
  .melinda-about {
    flex-grow: 3;
    flex-basis: 0;
  }
  
  .melinda-contact-info {
    display: flex;
    flex-direction: column;
  }
  
  .melinda-logo img {
    max-height: 150px;
  }
  
  .melinda-banner a:hover .footer-link-text,
  .melinda-banner a:hover .footer-link-icon,
  .melinda-banner a:hover .footer-email {
    color: var(--color-primary-blue);
    text-decoration-color: var(--color-primary-blue);
  }
  
  .melinda-banner a:active .footer-link,
  .melinda-banner .footer-email:active,
  .melinda-logo a:active {
    outline-color: var(--color-primary-white);
    outline-style: solid;
    outline-width: 0.2rem;
  }
  
  .melinda-banner a:active .footer-link {
    outline-offset: 0.4rem
  }
  
  .melinda-banner .footer-email:active {
    outline-offset: 0.1rem
  }
  
  .melinda-logo a:active {
    outline-offset: 0.6rem
  }
  
  
  /* ************************************************************ */
  /* NatLib banner specific styles in footer*/
  
  .natlib-banner {
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    color: var(--color-primary-white);
    background-color: var(--color-primary-blue);
    gap: 40px;
    padding-top: 20px;
    padding-bottom: 20px;
    padding-left: 48px;
    padding-right: 48px;
  }
  
  .natlib-logo,
  .natlib-text,
  .natlib-link {
    display: flex;
  }
  
  .natlib-link {
    font-family: var(--font-family-content);
    justify-content: flex-end;
    align-items: center;
  }
  
  .natlib-text,
  .natlib-link {
    flex-basis: 0;
    flex-grow: 1;
  }
  
  .natlib-logo img {
    max-height: 78px;
  }
  
  .natlib-text {
    font-size: var(--font-size-headline-large);
    font-family: var(--font-family-brand);
    align-items: center;
    justify-content: flex-start;
  }
  
  .natlib-banner .footer-link:hover .footer-link-text,
  .natlib-banner .footer-link:hover .footer-link-icon {
    color: var(--color-red-80);
    text-decoration-color: var(--color-red-80);
  }
  
  .natlib-logo a:active,
  .natlib-link a:active {
    outline-color: var(--color-primary-white);
    outline-style: solid;
    outline-width: 0.2rem;
  }
  
  .natlib-logo a:active {
    outline-offset: 0.6rem
  }
  
  .natlib-link a:active {
    outline-offset: 0.4rem
  }