body {
  margin: 0;
  font-size: var(--global-font-size);
  container-type: inline-size;
  container-name: body-container;
}

header, main, footer {
  width: 100%;
  margin: 0 auto;
  max-width: var(--container-max-width);
  min-width: var(--container-min-width);
}

main {
  min-height: calc(100vh - var(--container-min-footer-height) * 3);
}

footer {
  min-height: var(--container-min-footer-height);
}

@container body-container (max-width: 1296px) {
  header, main, footer {
    padding-left: 1em;
    padding-right: 1em;
  }
}:root {
  --container-max-width: 1280px;
  --container-min-width: 350px;
  --container-min-footer-height: 32px;
  --global-font-size: 16px;
  --global-default-padding: 1em;
  --color-light: rgb(246, 241, 241);
  --color-dark: rgb(0, 0, 0);
  --color-primary: rgb(25, 167, 206);
  --color-secondary: rgb(20, 108, 148);
}body {
  background-color: var(--color-light);
  color: var(--color-dark);
}

a {
  text-decoration: none;
  color: var(--color-primary);
}
a:hover {
  opacity: 0.65;
}
a:visited {
  color: var(--color-secondary);
}

a {
  transition: 0.2s;
}

header {
  border-bottom: 0.25em solid var(--color-dark);
}
header .wrap {
  padding-top: 1em;
  display: flex;
  justify-content: space-between;
}
header .wrap a.logo {
  color: var(--color-dark);
}
header .wrap a.logo:visited {
  color: var(--color-dark);
}
header .wrap a.logo .title {
  font-size: 2em;
}
header .wrap a.logo .slogan {
  font-size: 1em;
}