:root {
  --bg: #f0f2f5;
  --blue: #1877f2;
  --dark-blue: #1360c4;
  --white: #FFF;
  --green: #42b72a;
  --dark-green: #369423;
}


* {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
}

body {
  height: 100vh;
  overflow: hidden;
  background-color: var(--bg);
  font-family: Helvetica, sans-serif;
}

.main-wrapper {
  width: 400px;
  height: 680px;
  margin: auto;
  margin-top: 40px;
  display: flex;
  flex-direction: column;
}

.branding {
  text-align: center;
}

.logo {
  color: var(--blue);
  font-size: 3.7rem;
  letter-spacing: -3px;
}

.slogan {
  font-size: 1.5rem;
  font-weight: lighter;
  margin: 20px 0;
}

.panel {
  background-color: var(--white);
  width: 400px;
  padding: 15px;
  margin: 20px 0;
  border-radius: 6px;
  box-shadow: 0 3px 5px 2px rgba(150, 150, 150, 0.2);
  text-align: center;
}

input {
  width: 100%;
  padding: 15px;
  margin-bottom: 15px;
  border: 1px solid #d2d2d2;
  border-radius: 6px;
}

input::placeholder {
  font-size: 1.0rem;
}

input:focus {
  outline: 1px solid var(--blue);
}

input:focus::placeholder {
  color: #c2c2c2;
}

.log-in-button {
  background-color: var(--blue);
  color: var(--white);
  font-size: 1.2rem;
  font-weight: bolder;
  padding: 10px;
  transition-property: background-color;
  transition-duration: 100ms;
  transition-timing-function: ease-in-out;
}

.log-in-button:hover {
  background-color: var(--dark-blue);
  cursor: pointer;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  cursor: pointer;
}

.forgot {
  font-size: 0.9rem;
  color: var(--blue);
}

hr {
  margin: 18px 0;
  opacity: 0.3;
}

.register-button {
  background-color: var(--green);
  color: var(--white);
  display: inline-block;
  padding: 15px;
  margin: 10px 0;
  border-radius: 6px;
  font-weight: bolder;
  transition-property: background-color;
  transition-duration: 100ms;
  transition-timing-function: ease-in-out;  
}

.register-button:hover {
  text-decoration: none;
  background-color: var(--dark-green);
}

.bottom-link {
  display: flex;
  justify-content: center;
  gap: 5px;
  font-size: 0.9rem;
}

.page {
  color: #000;
  font-weight: bold;
}

footer {
  height: 100%;
  background-color: var(--white);
  padding: 25px 35px;
}

ul {
  max-width: 1000px;
  margin: auto;
  display: flex;

  flex-wrap: wrap;
  list-style: none;
  font-size: 0.75rem;
  color: #7e7e7e;
  line-height: 1.5;
}

li {
  margin-right: 15px;
}

@media (min-width: 890px) {
  .main-wrapper {
    width: 90%;
    max-width: 980px;
    flex-direction: row;
    padding-top: 70px;
    justify-content: space-between;
  }

  .branding {
    text-align: left;
    padding-top: 80px;
    width: 480px;
  }

  .slogan {
    font-size: 1.7rem;
  }
}