/**
 * @license
 * Scale https://github.com/telekom/scale
 *
 * Copyright (c) 2021 Egor Kirpichev and contributors, Deutsche Telekom AG
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at https://mozilla.org/MPL/2.0/.
 */


:host {
  --_max-width-container: none;
  --_spacing-x-container: var(--telekom-spacing-composition-space-06);

  --_nav-items-bottom-margin: var(--telekom-spacing-composition-space-08);
  --_nav-items-spacing: var(--telekom-spacing-composition-space-05);

  --_logo-top-margin: var(--telekom-spacing-composition-space-12);
  --_logo-bottom-margin: var(--telekom-spacing-composition-space-12);

  --_font-color: var(--telekom-color-text-and-icon-white-standard);
  --_font-size: var(--telekom-typography-font-size-caption);

  --focus-outline: var(--telekom-line-weight-highlight) solid
    var(--telekom-color-functional-focus-standard);

  --_display-logo: flex;
  --_navigation-container-padding: 0 0 0 0;
}

footer {
  width: 100%;
  background-color: var(--background-footer);
  display: flex;
  justify-content: center;
  flex-direction: column;
  padding-bottom: var(--_nav-items-bottom-margin);
  align-items: center;
}

[part~='base'] {
  height: 100%;
  max-width: var(--_max-width-container);
  padding-left: var(--_spacing-x-container);
  padding-right: var(--_spacing-x-container);
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  width: -moz-available;
  width: -webkit-fill-available;
  width: fill-available;
}

[part~='logo'] {
  display: var(--_display-logo);
  justify-content: center;
  height: 100%;
  width: 100%;
  margin-top: var(--_logo-top-margin);
  margin-bottom: var(--_logo-bottom-margin);
}

[part~='body'] {
  display: flex;
  flex-direction: column;
  width: 100%;
  padding: var(--_navigation-container-padding);
  margin: 0;
  bottom: 0;
}

[part~='notice'] {
  color: var(--_font-color);
  display: flex;
  flex: 1 0 auto;
  margin-bottom: var(--telekom-spacing-composition-space-07);
  font-size: var(--_font-size);
  line-height: 140%;
  margin-right: var(--telekom-spacing-composition-space-07);
}

/* todo: should i use spacing token for logo size? */
[part~='app-logo'] {
  --logo-size: var(--telekom-spacing-composition-space-11);
}

/* Leave this just in case?  */
.scale-icon {
  height: 16px;
  width: 16px;
  margin-right: 9px;
}

@media screen and (min-width: 640px) {
  :host {
    --_logo-top-margin: var(--telekom-spacing-composition-space-10);
    --_logo-bottom-margin: var(--telekom-spacing-composition-space-14);
    --_nav-items-spacing: var(--telekom-spacing-composition-space-06);
  }
  [part~='body'] {
    flex-direction: column;
  }
  [part~='navigation'] ul {
    list-style: none;
    display: flex;
    flex-direction: row;
    align-items: center;
  }
  [part~='notice'] {
    margin-bottom: var(--telekom-spacing-composition-space-04);
  }
}

@media screen and (min-width: 1040px) {
  :host {
    --_logo-top-margin: var(--telekom-spacing-composition-space-14);
    --_logo-bottom-margin: var(--telekom-spacing-composition-space-18);
    --_nav-items-spacing: var(--telekom-spacing-composition-space-08);
    --_slim-padding: var(--telekom-spacing-composition-space-08);
    --_font-size: var(--telekom-typography-font-size-body);
    --_spacing-x-container: var(--telekom-spacing-composition-space-08);
  }
  [part~='body'] {
    flex-direction: row;
  }

  /* todo: should i use spacing token for logo size? */
  :host [part~='app-logo'] {
    --logo-size: var(--telekom-spacing-composition-space-13);
  }
  :host [part~='notice'] {
    margin-bottom: 0;
  }
}

@media screen and (min-width: 1296px) {
  :host {
    --_logo-top-margin: var(--telekom-spacing-composition-space-16);
    --_logo-bottom-margin: var(--telekom-spacing-composition-space-19);
    --_nav-items-bottom-margin: var(--telekom-spacing-composition-space-10);
    --_nav-items-spacing: var(--telekom-spacing-composition-space-14);
    --_slim-padding: var(--telekom-spacing-composition-space-10);
  }
  /* todo: should i use spacing token for logo size? */
  :host [part~='app-logo'] {
    --logo-size: var(--telekom-spacing-composition-space-14);
  }
}
@media screen and (min-width: 1680px) {
  :host {
    --_max-width-container: var(--scl-grid-max-width, 1504px);
    --_logo-top-margin: var(--telekom-spacing-composition-space-18);
    /* too bad spacing tokens don't go beyond 5 rem */
    --_logo-bottom-margin: 96px;
  }
  /* todo: should i use spacing token for logo size? */
  :host [part~='app-logo'] {
    --logo-size: var(--telekom-spacing-composition-space-16);
  }
}
