﻿﻿.loginalerts {
  width: 100%;
}

.loginalerts .alert {
  text-align: left;
  margin: 1.14em;
  padding-bottom: 0px;
  margin-bottom: 7px;
}


.vertical-center {
  min-height: 100%; /* Fallback for browsers do NOT support vh */
  min-height: 100vh; /* overwrites using vh if known ignored on old if not known*/
  display: flex;
  align-items: center;
  flex-direction: column;
  margin-top: 50px;
}

.header {
  width: 100%;
}

.login-logo {
  margin-bottom: 20px;
}

img.logo {
  height: 182px;
}

.navbar {
  background-color: #223a44;
}

.body-content {
  margin-top: 0px !important;
  padding: 0;
}

  .body-content > .header {
    height: 35rem;
    align-content: center;
    background-image: url(../images/login-background.jpg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    margin: 0;
    
    margin-top: 5rem;
    padding: 10rem 0 10rem 0;
  }

    .body-content > .header > .login {
      padding-right: 3rem;
      min-height: unset;
      top: unset;
      border: unset;
      border-radius: unset;
      box-shadow: unset;
    }

      .body-content > .header > .login > form > div {
        border: 1px solid #eee;
        border-radius: 14px;
        box-shadow: 0px 0.12rem 10px -1px #d7d7d7;
        background-color: #fff;
        padding: 2rem 1rem;
        text-align: center;
        color: #666;
        font-size: 1rem;
      }

        .body-content > .header > .login > form > div > .wellcome {
          text-align: center;
          padding: 6px;
          color: #777;
          font-weight: 400;
        }

        .body-content > .header > .login > form > div > .title {
          font-size: 4rem;
          color: #36BD77;
          line-height: 4rem;
          padding: 0 0 12px 0;
          font-weight: 500;
        }

        .body-content > .header > .login > form > div > .fields {
          justify-content: center;
          padding: 0;
          margin: 0;
        }

          .body-content > .header > .login > form > div > .fields > div {
            max-width: 32%;
            padding: 0 6px;
          }

        .body-content > .header > .login > form > div > .sub-fields {
          justify-content: center;
          padding: 0;
          margin: 0;
        }

          .body-content > .header > .login > form > div > .sub-fields > div {
            text-align: left;
            max-width: 32%;
            padding: 4px 8px 0;
          }

            .body-content > .header > .login > form > div > .sub-fields > div > .form-group {
              margin: 0;
            }

.form-control.login-input {
  margin-bottom: 10px;
  text-align: center;
}

.body-content > .container > h2 {
  text-align: center;
  font-weight: 300;
  color: #333;
  font-size: 2.4rem;
}

.body-content > .container > .components {
  margin-top: 3rem;
}

  .body-content > .container > .components > .component > div {
    border: 1px solid #ddd;
    box-shadow: 0px 114px 107px -92px rgba(0, 0, 0, 0.25);
  }

    .body-content > .container > .components > .component > div > .image {
      min-height: 11rem;
      background-repeat: no-repeat;
      background-position: center;
      background-size: cover;
    }

    .body-content > .container > .components > .component > div > .title {
      margin-top: -4rem;
      text-align: center;
      padding: 0px 4px;
      font-weight: 500;
      color: #444;
      background: rgb(255 255 255 / 80%);
      min-height: 4rem;
      justify-content: center;
      display: flex;
      align-items: center;
    }

    .body-content > .container > .components > .component > div > .body {
      min-height: 10rem;
      padding: 0px 15px;
      font-size: 1rem;
      color: #666;
      margin: 20px 0px 10px;
    }

    .body-content > .container > .components > .component > div > a {
      display: block;
      margin: 10px 15px 20px;
      background-color: #36BD77;
      text-align: center;
      padding: 6px;
      color: #fff;
      font-weight: 600;
    }

.image.VendorManagement {
  background-image: url(../images/components/VendorManagement.jpg);
}

.image.DigitalePersonalakte {
  background-image: url(../images/components/DigitalePersonalakte.jpg);
}

.image.ManagedServiceProviding {
  background-image: url(../images/components/ManagedServiceProviding.jpg);
}

.image.Bewerbungsmanagement {
  background-image: url(../images/components/Bewerbungsmanagement.jpg);
}

.image.TimeTracking {
  background-image: url(../images/components/TimeTracking.jpg);
}

.apps {
  text-align: center;
  background-color: rgba(255,255,255, 0.8);
  border-radius: 10px;
  padding-top: 20px;
  margin-top: 25px;
  border: 1px solid #eee;
  box-shadow: 0px 0.12rem 10px -1px #d7d7d7;
  padding-bottom: 20px;
  background-repeat: no-repeat;
  background-size: cover;
}

  .apps > div {
    margin: 0;
  }

  .apps > h2 {
    margin-bottom: 20px;
    font-weight: 400;
  }

  .apps > .row {
    display: flex;
  }

  .apps > .column {
    display: none;
  }

.app {
  margin: 0 5px;
  padding: 0;
  max-height: 214px;
  overflow: hidden;
}

  .app:hover {
  }

    .app:hover > .title {
      transition: all ease .5s;
      margin-top: 0px;
    }

    .app:hover > .description {
      transition: all ease .5s;
      min-height: 180px;
      max-height: 180px;
    }

  .app > .title {
    transition: all ease .5s;
    width: 100%;
    margin-top: 180px;
    padding: 5px 10px;
    height: 34px;
    background-color: rgba(255,255,255,0.8);
    backdrop-filter: blur(6px);
    font-weight: 500;
  }

  .app > .description {
    transition: all ease .5s;
    max-height: 0px;
    min-height: 0px;
    overflow: hidden;
    background-color: rgba(255,255,255,0.8);
    backdrop-filter: blur(10px);
    font-size: 14px;
    line-height: 16px;
    letter-spacing: 1px;
  }





  .app:hover > .description {
    padding: 15px;
    display: block;
    padding: 5px 10px;
  }




.body-content > .container > .footer {
  min-height: 5rem;
  margin-top: 6rem;
}

.body-content > .container > .footer {
  margin-bottom: 1rem;
}

  .body-content > .container > .footer > div > div.logo > div {
    background-image: url(../images/logo.jpg);
    min-height: 4.5rem;
    background-repeat: no-repeat;
    background-size: contain;
  }

  .body-content > .container > .footer > div > div.links > div {
    display: flex;
    justify-content: center;
    padding-top: 2rem;
  }

    .body-content > .container > .footer > div > div.links > div > a {
      color: #777;
    }

    .body-content > .container > .footer > div > div.links > div > span {
      color: #777;
      margin: 0 10px;
    }

  .body-content > .container > .footer > div > div.ms-partner {
    text-align: right;
  }

    .body-content > .container > .footer > div > div.ms-partner > div {
      background-image: url(../images/ms-partner.jpg);
      min-height: 5.5rem;
      background-repeat: no-repeat;
      background-size: contain;
      background-position: right;
    }

.body-content > .welcome-page > .container > div.row {
  margin-top: 2rem;
}

.body-content > .welcome-page > .container > div > div > a {
  display: block;
  border: 1px solid #ccc;
  padding: 6rem 0 0 0;
  text-align: center;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  cursor: pointer;
  transition: all ease 250ms;
}

  .body-content > .welcome-page > .container > div > div > a > div {
    background-color: rgb(255,255,255,0.8);
    padding: 1rem;
    color: #555;
    font-weight: 400;
  }

  .body-content > .welcome-page > .container > div > div > a:hover {
    border: 1px solid #223a44;
    /*margin-top: -5px;*/
    box-shadow: 0px 0.12rem 10px -1px #d7d7d7;
  }

    .body-content > .welcome-page > .container > div > div > a:hover > div {
      font-weight: 600;
    }

/*LoggedOut*/
.logged-out {
  text-align: center;
}

  .logged-out > a {
    padding: 5px 45px;
    font-size: 1.125rem;
  }


@media only screen and (max-width: 768px) {
  .body-content > .header {
    height: 70vh !important;
    background-position-x: -450px;
    background-blend-mode: overlay;
    background-color: rgba(255, 255, 255, 0.5);
    background-size: cover;
  }

  .login-logo {
    margin-bottom: 20px;
  }

  .login {
    padding: 2rem !important;
  }

    .login > form > .row > .fields {
      flex-direction: column !important;
      align-content: center !important;
    }

      .login > form > .row > .fields > div {
        max-width: 80% !important;
        padding: 0.25rem !important;
        flex: 30%;
      }

        .login > form > .row > .fields > div:nth-last-child(n) {
          padding-top: 0.5rem !important;
        }

    .login > form > .row > .sub-fields {
      flex-direction: column-reverse;
      padding: 0.5rem 2rem !important;
    }

      .login > form > .row > .sub-fields > div:nth-child(1) {
        display: none !important;
      }

      .login > form > .row > .sub-fields > div {
        max-width: 100% !important;
        text-align: center !important;
      }



  .login-logo {
    display: flex;
    justify-content: center;
  }

  .apps > .row {
    display: none;
  }

  .apps > .column {
    display: block;
  }

  .app {
    margin-bottom: 10px;
    min-height: 278px;
  }

    .app > .title {
      transition: all ease .5s;
      margin-top: 60px;
    }

    .app > .description {
      transition: all ease .5s;
      min-height: 190px;
      max-height: 190px;
      line-height: 22px;
      letter-spacing: 1px;
      font-size: 18px;
      padding: 15px;
    }
}
