.fontUbuntuLight,
.fontUbuntuRegular,
.fontUbuntuMedium,
.fontUbuntuBold,
.fontUbuntuLightItalic,
.fontUbuntuRegularItalic,
.fontUbuntuMediumItalic,
.fontUbuntuBoldItalic {
  font-family: "Ubuntu", serif;
}

.poppins-thin,
.poppins-extralight,
.poppins-light,
.poppins-regular,
.poppins-medium,
.poppins-semibold,
.poppins-bold,
.poppins-extrabold,
.poppins-black,
.poppins-thin-italic,
.poppins-extralight-italic,
.poppins-light-italic,
.poppins-regular-italic,
.poppins-medium-italic,
.poppins-semibold-italic,
.poppins-bold-italic,
.poppins-extrabold-italic,
.poppins-black-italic {
  font-family: "Poppins", sans-serif;
}

.poppins-thin {
  font-weight: 100;
  font-style: normal;
}

.poppins-extralight {
  font-weight: 200;
  font-style: normal;
}

.poppins-light {
  font-weight: 300;
  font-style: normal;
}

.poppins-regular {
  font-weight: 400;
  font-style: normal;
}

.poppins-medium {
  font-weight: 500;
  font-style: normal;
}

.poppins-semibold {
  font-weight: 600;
  font-style: normal;
}

.poppins-bold {
  font-weight: 700;
  font-style: normal;
}

.poppins-extrabold {
  font-weight: 800;
  font-style: normal;
}

.poppins-black {
  font-weight: 900;
  font-style: normal;
}

.poppins-thin-italic {
  font-weight: 100;
  font-style: italic;
}

.poppins-extralight-italic {
  font-weight: 200;
  font-style: italic;
}

.poppins-light-italic {
  font-weight: 300;
  font-style: italic;
}

.poppins-regular-italic {
  font-weight: 400;
  font-style: italic;
}

.poppins-medium-italic {
  font-weight: 500;
  font-style: italic;
}

.poppins-semibold-italic {
  font-weight: 600;
  font-style: italic;
}

.poppins-bold-italic {
  font-weight: 700;
  font-style: italic;
}

.poppins-extrabold-italic {
  font-weight: 800;
  font-style: italic;
}

.poppins-black-italic {
  font-weight: 900;
  font-style: italic;
}

body,
html {
  margin: 0;
  padding: 0;
  width: 100vw;
  height: 100vh;
}

body {
  font-family: "Ubuntu", serif;
  font-weight: 400;
  font-size: 16px;
  display: flex;
  flex-direction: column;
  color: #222;
  background-color: white;
  overflow: hidden;
}

header {
  position: relative;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  text-align: center;
  padding: 0px 14px;
  background-color: white;
  border-bottom: #ddd solid 1px;
  min-height: 67px;
  box-shadow: 0 0 8px #B7C8AA;
  overflow: hidden;
  z-index: 11;
}
header #sswLogoContainer {
  position: absolute;
  left: -11px;
  height: 111px;
  margin: 0;
  padding: 11px 24px 11px 28px;
  display: flex;
  align-items: center;
  background-color: #47614D;
  box-shadow: 0 0 11px 8px #B7C8AA;
  transform: skew(-11deg);
}
header #sswLogoContainer #sswLogo {
  display: block;
  width: 150px;
  height: 38px;
  fill: white;
  transform: skew(11deg);
}
header #headerTitleContainer {
  display: flex;
  flex-grow: 1;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  margin: auto;
  padding: 0 0 0 200px;
  font-size: 22px;
  text-align: center;
}

#mainContainer {
  position: relative;
  display: grid;
  justify-content: center;
  align-items: start;
  flex-grow: 1;
  background-color: #f7f7eb;
  overflow: auto;
}

footer {
  padding: 2px 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 11px;
  line-height: 14px;
  border-top: #ddd solid 1px;
  background-color: #fcfcfc;
}
footer .ssweaverVersion {
  text-transform: uppercase;
  text-wrap: nowrap;
}
footer .ssweaverLogo {
  position: relative;
  display: flex;
  flex-direction: row;
  margin-left: 11px;
}
footer .ssweaverLogo > span {
  padding: 3px 4px;
  font-size: 11px;
  border: 1px solid #47614D;
  transform: skew(-11deg);
}
footer .ssweaverLogo > span:first-child {
  color: #47614D;
  background-color: white;
  font-weight: bold;
}
footer .ssweaverLogo > span:last-child {
  color: white;
  background-color: #47614D;
}

.error {
  color: red;
}

.hidden,
.hiddenOnCompare,
.hiddenBeforeCompare,
.hiddenOnStatic,
.hiddenOnKeySize,
.devModeOnly {
  display: none !important;
}

.button {
  display: inline-block;
  margin: 8px;
  padding: 10px 20px;
  font-size: 15px;
  text-decoration: none;
  border: #222 solid 1px;
  color: #000;
  background-color: #B7C8AA;
  transform: skew(-11deg);
  transition: all 0.3s;
  cursor: pointer;
}
.button.error {
  background-color: rgba(255, 127, 127, 0.1);
}
.button.active {
  font-weight: bold;
  background-color: #47614D;
}
.button:hover {
  padding: 10px 24px;
  background-color: #47614D;
  box-shadow: 0 0 8px #999;
  z-index: 1;
  color: white;
}

.sectionContainer {
  width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
}

.centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex-grow: 0;
  margin: auto 0;
  padding: 0;
}
.centered > * {
  text-align: center;
}

.text-centered {
  text-align: center;
}

.largeIcon {
  font-size: 111px;
}

.material-icon {
  width: 111px;
}

.form {
  display: flex;
  flex-direction: column;
  justify-content: start;
  align-items: start;
  flex-grow: 1;
  max-width: 850px;
  min-width: 280px;
  width: 100%;
  margin: 36px 24px;
  padding: 0;
}
.form h2 {
  font-weight: 500;
  text-align: left;
  margin: 0;
  font-size: 36px;
  line-height: 43.2px;
}
@media (min-width: 320.001px) and (max-width: 1440px) {
  .form h2 {
    font-size: calc((28px + (100vw - 320px) / 1120 * 8) / 1);
    line-height: calc((33.6px + (100vw - 320px) / 1120 * 9.6) / 1);
  }
}
@media (max-width: 320px) {
  .form h2 {
    font-size: 28px;
    line-height: 33.6px;
  }
}
.form p {
  font-weight: 400;
  text-align: left;
  margin-top: 11px;
  margin-right: 0;
  margin-bottom: 20px;
  margin-left: 0;
  font-size: 18px;
  line-height: 21.6px;
}
@media (min-width: 320.001px) and (max-width: 1440px) {
  .form p {
    font-size: calc((14px + (100vw - 320px) / 1120 * 4) / 1);
    line-height: calc((16.8px + (100vw - 320px) / 1120 * 4.8) / 1);
  }
}
@media (max-width: 320px) {
  .form p {
    font-size: 14px;
    line-height: 16.8px;
  }
}
.form form {
  display: flex;
  flex-direction: column;
  width: 100%;
}
.form form label {
  display: inline-block;
  text-align: left;
}
.form form label.error {
  font-weight: 400;
  color: #d71b2e;
  margin: 0 0 10px;
}
.form form label.error {
  font-size: 18px;
  line-height: 18px;
}
@media (min-width: 320.001px) and (max-width: 640px) {
  .form form label.error {
    font-size: calc((14px + (100vw - 320px) / 320 * 4) / 1);
    line-height: calc((14px + (100vw - 320px) / 320 * 4) / 1);
  }
}
@media (max-width: 320px) {
  .form form label.error {
    font-size: 14px;
    line-height: 14px;
  }
}
.form form .field-group {
  margin-top: 24px;
}
@media (min-width: 320.001px) and (max-width: 640px) {
  .form form .field-group {
    margin-top: calc((20px + (100vw - 320px) / 320 * 4) / 1);
  }
}
@media (max-width: 320px) {
  .form form .field-group {
    margin-top: 20px;
  }
}
.form form input[type=checkbox] {
  position: relative;
  top: 4px;
  width: 21px;
  height: 21px;
  appearance: none;
  border: solid 1px #5d5d5d;
  padding: 0;
  margin: 0 10px 0 0;
}
.form form input[type=checkbox].error {
  border: 1px solid #d71b2e;
}
.form form input[type=checkbox]:checked {
  background-color: #5d5d5d;
  box-shadow: inset 0 0 0 4px #ffffff;
  appearance: initial;
}
.form form input[type=text],
.form form input[type=email],
.form form input[type=password],
.form form textarea,
.form form select {
  display: block;
  width: calc(100% - 32px);
  outline: 2px #5d5d5d;
  border: 1px solid #5d5d5d;
  border-radius: 0;
  font-weight: 400;
  resize: vertical;
}
.form form input[type=text],
.form form input[type=email],
.form form input[type=password],
.form form textarea,
.form form select {
  padding: 16px;
}
@media (min-width: 320.001px) and (max-width: 640px) {
  .form form input[type=text],
  .form form input[type=email],
  .form form input[type=password],
  .form form textarea,
  .form form select {
    padding: calc((16px + (100vw - 320px) / 320 * 0) / 1);
  }
}
@media (max-width: 320px) {
  .form form input[type=text],
  .form form input[type=email],
  .form form input[type=password],
  .form form textarea,
  .form form select {
    padding: 16px;
  }
}
.form form input[type=text],
.form form input[type=email],
.form form input[type=password],
.form form textarea,
.form form select {
  font-size: 18px;
  line-height: 18px;
}
@media (min-width: 320.001px) and (max-width: 640px) {
  .form form input[type=text],
  .form form input[type=email],
  .form form input[type=password],
  .form form textarea,
  .form form select {
    font-size: calc((15px + (100vw - 320px) / 320 * 3) / 1);
    line-height: calc((15px + (100vw - 320px) / 320 * 3) / 1);
  }
}
@media (max-width: 320px) {
  .form form input[type=text],
  .form form input[type=email],
  .form form input[type=password],
  .form form textarea,
  .form form select {
    font-size: 15px;
    line-height: 15px;
  }
}
.form form input[type=text].error,
.form form input[type=email].error,
.form form input[type=password].error,
.form form textarea.error,
.form form select.error {
  border: 1px solid #d71b2e;
}
.form form select {
  width: 100%;
}

.loginContainer {
  background-color: white;
  border: 1px solid #5d5d5d;
  border-radius: 0;
  display: flex;
  flex-direction: row;
  margin: auto 0;
  padding: 0;
}
@media (max-width: 860px) {
  .loginContainer {
    flex-direction: column;
  }
}
.loginContainer .poster {
  position: relative;
  margin: 0;
  padding: 0;
  width: 300px;
  background-color: #47614D;
  background-size: 24px 44px;
  background-position: 0 0, 0 0, 10px 18px, 10px 18px, 0 0, 10px 18px;
  background-repeat: repeat;
}
@media (max-width: 860px) {
  .loginContainer .poster {
    min-width: 280px;
    width: 100%;
    height: 240px;
  }
}
.loginContainer .poster img {
  display: block;
  width: 100%;
}
.loginContainer .poster .sswLogo,
.loginContainer .poster .doWellLogo {
  position: absolute;
  left: 30px;
  z-index: 1;
}
.loginContainer .poster .sswLogo {
  top: 30px;
  width: 232px;
  padding: 4px;
}
.loginContainer .poster .doWellLogo {
  bottom: 30px;
  width: 111px;
}
.loginContainer .form {
  width: 456px;
  min-width: 280px;
}
@media (max-width: 550px) {
  .loginContainer .form {
    width: calc(100vw - 90px);
  }
}
.loginContainer .form p.noAccount {
  font-weight: 400;
  text-align: center;
  margin: 0 auto;
  padding: 30px 0 0;
}
.loginContainer .form p.noAccount a {
  color: #47614D;
  text-decoration: underline;
}
.loginContainer .form p.noAccount a:hover {
  color: #17999a;
}
.loginContainer .form p.noAccount {
  font-size: 14px;
  line-height: 16.8px;
}
@media (min-width: 320.001px) and (max-width: 640px) {
  .loginContainer .form p.noAccount {
    font-size: calc((12px + (100vw - 320px) / 320 * 2) / 1);
    line-height: calc((14.4px + (100vw - 320px) / 320 * 2.4) / 1);
  }
}
@media (max-width: 320px) {
  .loginContainer .form p.noAccount {
    font-size: 12px;
    line-height: 14.4px;
  }
}

/*# sourceMappingURL=app.css.map */
