html,
body {
  height: 100%;
}

body {
  background: url("background.jpg") no-repeat center center fixed;
  background-image: url(/images/infrest_background.png);
  background-size: cover;
  display: flex;
  flex-direction: column;
}

header {
  height: 60px;
  flex-shrink: 0;
  background-color: white;
}

main {
  flex: 1 0 auto;
  padding: 2rem;
  padding-top: 20px;
}

footer {
  height: 60px;
  flex-shrink: 0;
}

#logo_header {
  position: relative;
  left: 14px;
  top: -2px;
}

*,
a {
  color: #00578e;
}

footer {
  font-size: 14px;
  font-family: Arial;
}

footer a {
  text-decoration: none;
}
footer a:hover {
  text-decoration: underline;
}

.bsa-button {
  padding: 4px 6px;
  cursor: pointer;
  background-color: rgb(32, 168, 212);
  color: white;
  font-weight: bold;
  border: 0;
  height: 30px;
  border-radius: 2px;
}

a.bsa-button {
  display: inline-block;
  text-align: center;
  text-decoration: none; /* kein Unterstrich */
}

/**
 * LOGIN
 */

.login-mask {
  width: 960px;
  height: 400px;
  margin: 115px auto 0 auto;
  background: #ffffff;

  display: flex;
  flex-direction: column;

  font-size: 14px;
  font-family: Arial;
}

/* HEADER (60px) */
.login-header {
  height: 60px;
  display: flex;
}

.login-header-left,
.login-header-right {
  flex: 1; /* beide gleich breit */
  background: #00578e;
}

.login-header-left {
  color: #ffffff;
  border-right: 1px solid #ffffff;

  display: flex;
  align-items: center;
}

.login-header-left h1 {
  font-size: 30px;
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  margin: 0;
}

/* CONTENT (340px) */
.login-content {
  flex: 1;
  display: flex;
  height: 340px;
}

/* LEFT & RIGHT: gleiche Breite */
.login-left,
.login-right {
  flex: 1; /* beide Spalten exakt gleich breit */
}

/* LEFT SIDE: Padding nur innen */
.login-left {
  padding-top: 35px;

  display: flex;
  flex-direction: column;
}

.intro-text {
  margin-bottom: 35px;
}

/* FORM: Label + Input nebeneinander */
.form-group {
  display: flex;
  align-items: center;
  margin-bottom: 35px;
}

.form-group label {
  width: 120px;
  margin-right: 15px;
  font-weight: bold;
  text-align: right;
}

.form-group input {
  flex: 0 0 275px;
  height: 26px;
  padding: 0 2px;
  border: 1px solid rgb(187, 187, 187);
}

/* BUTTON */
.login-button {
  margin-top: auto; /* bleibt unten */
  align-self: flex-start;
  margin-left: 139px;
  width: 127px;
}

/* RIGHT SIDE: Hintergrundbild */
.login-right {
  background: url("/images/login_image.png") center/cover no-repeat;
}

.login-alert {
  margin-left: 135px;
  margin-right: 70px;
  border-radius: 2px;
}

.error-symbol {
  width: 100px;
  height: 100px;
}
.error-symbol i {
  font-size: 50px;
}

.itsd-link img {
  width: 20px;
  height: 20px;
  position: relative;
  top: -2px;
}
