﻿
:root {
  --blue-0: #e6f9ff;
  --blue-1: #b8eafb;
  --blue-2: #7acbe5;
  --blue-3: #4db8db;
  --blue-4: #0099cc;
  --blue-5: #017ca4;
  --blue-6: #03657c;
  --blue-7: #005366;
  --blue-8: #063951;
  --blue-9: #002434;
}

body {
  position: relative;
}

.background-img {
  position: fixed;
  object-fit: cover;
  filter: grayscale(100%);
  height: 100dvh;
  width: 100dvw;
  top: 0;
  left: 0;
  z-index: -1;
  opacity: .06;
}

.decoration {
  background-color: var(--blue-5);
  width: 100%;
  height: 100%;
  max-width: calc(100% - 25rem);
  position: relative;
  &:before

{
  content: "";
  background-color: var(--blue-3);
  width: 9rem;
  height: 100%;
  position: absolute;
  left: -3rem;
  z-index: 10;
  clip-path: polygon( 3rem 0, 100% 0, calc(100% - 3rem) 3rem, 0 3rem);
}

&:after {
  content: "";
  position: absolute;
  background-color: var(--blue-7);
  width: 9rem;
  height: 100%;
  right: 0;
  clip-path: polygon( 3rem 0, 100% 0, 100% 3rem, 0 3rem);
}

}

body, body * {
  font-family: 'Poppins', Arial, sans-serif;
  box-sizing: border-box;
  display: flex;
  padding: 0;
  margin: 0;
}

body {
  align-items: center;
  justify-content: center;
  padding: 4rem 0;
  height: 100dvh;
  background: #f2f2f2;
}

a:visited {
  color: purple;
}

header {
  position: fixed;
  z-index: 3;
  top: 0;
  left: 0;
  width: 100%;
  height: 3rem;
  background: white;
  justify-content: space-between;
  color: #333;
}

  header * {
    align-items: center;
  }

.logo {
  height: 100%;
  align-items: center;
  width: 48px;
}

  .logo img {
    padding: .5rem;
    height: 100%;
  }


header h1 {
  font-size: 1.3em;
  font-weight: 400;
  margin: 0;
  padding: 0;
  width: fit-content;
}

  header h1 span {
    margin-right: .25rem;
    width: fit-content;
  }

  header h1 strong {
    width: fit-content;
    white-space: nowrap;
  }

header a {
  color: #333;
  text-decoration: none;
  align-items: center;
  justify-content: center;
}

footer {
  position: fixed;
  z-index: 3;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 3rem;
  background: white;
  justify-content: flex-end;
  color: #333;
  transform-origin: center center;
  transform: rotate(180deg);
}

.sign-in-container form {
  padding: 2rem;
  border-radius: .5rem;
  border: 1px solid #bbbbbb;
  flex-direction: column;
  row-gap: .5rem;
  background: white;
  max-width: 450px;

  & a {
    color: var(--blue-4);
    font-weight: 600;
  }

  & input {
    padding: .5rem;
    border-radius: .25rem;
    border: 1px solid #bbbbbb;
  }

  button {
    padding: .5rem;
    align-items: center;
    justify-content: center;
    background-color: var(--blue-5);
    border-radius: .25rem;
    cursor:pointer;
    color: white;
    border: none;

    &:hover {
      background: var(--blue-8);
    }
  }
}

  .text-muted, 
  .text-muted * {
    display: revert;
    font-size: .85rem;
  }

h4 {
  font-weight: 300;
}

@media screen and (max-width: 480px) {
  .decoration {
    left: -12rem
  }
}

body:has(.sign-in-container) .error {
  color: orangered;
  padding: .5rem;
  background-color: rgba(255, 69, 0, .08);
  border: 1px solid orangered;
  border-radius: .25rem;
  font-weight: 500;
}