/* Kopano styles */
html,
body {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
}

#bg {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: white;
}

#loader {
  position: absolute;
  bottom: 6%;
  left: 50%;
  font-weight: 400;
  font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif;
  color: #666;
  transform: translate(-50%, -50%);
}

#loader > a {
  color: #1e98d7; /* KopanoBlue700 */
}

#font-preloader {
  position: absolute;
  top: -500px;
  font-weight: 400;
  color: white;
  font-family: 'Roboto', 'Helvetica', 'Arial', sans-serif;
}

#font-preloader > span {
  font-weight: 500;
}

#root {
  height: 100%;
  display: flex;
}

/* CSS Scrollbars, currently only Firefox: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Scrollbars */

* {
  scrollbar-width: thin;
  scrollbar-color: #ddd #f5f5f5;
}

body:hover * {
  scrollbar-color: #bdbdbd #f5f5f5;
}

/* Webkit specific scrollbars, works in Chrome and Safari */

::-webkit-scrollbar {
  height: 8px;
  width: 8px;
  background: transparent;
  overflow: visible;
}

::-webkit-scrollbar-corner {
  display: none;
  background: #f5f5f5;
}

::-webkit-scrollbar-button {
  display: none;
  height: 0;
  width: 0;
}

::-webkit-scrollbar-button:start:decrement,
::-webkit-scrollbar-button:end:increment {
  display: block;
}

::-webkit-scrollbar-button:vertical:start:increment,
::-webkit-scrollbar-button:vertical:end:decrement {
  display: none;
}

::-webkit-scrollbar-track {
  -moz-background-clip: border;
  -webkit-background-clip: border;
  background-clip: padding-box;
  background-color: #f5f5f5;
}

::-webkit-scrollbar-thumb {
  background-clip: padding-box;
  background-color: #ddd;
  min-height: 40px;
  padding-top: 100px;
  border-radius: 4px;
}

::-webkit-scrollbar-track:vertical,
::-webkit-scrollbar-track:horizontal {
  border-left-width: 0;
  border-right-width: 0;
}

::-webkit-scrollbar-track:vertical,
::-webkit-scrollbar-track:horizontal,
::-webkit-scrollbar-thumb:vertical,
::-webkit-scrollbar-thumb:horizontal,
::-webkit-scrollbar-track:vertical,
::-webkit-scrollbar-track:horizontal,
::-webkit-scrollbar-thumb:vertical,
::-webkit-scrollbar-thumb:horizontal {
  border-style: solid;
  border-color: transparent;
}

::-webkit-scrollbar-thumb:hover {
  background-color: #bdbdbd;
}

::-webkit-scrollbar-thumb:active {
  background-color: #989898;
}

::-webkit-scrollbar-thumb:vertical,
::-webkit-scrollbar-thumb:horizontal {
  border-width: 0;
  border-left-width: 0;
  border-right-width: 0;
}

body:hover ::-webkit-scrollbar-thumb {
  background-color: #bdbdbd;
}

/* additional css on top of kpop */
@font-face {
  font-family: Inter;
  src: url(./fonts/inter.woff2) format('woff2'), url(./fonts/inter.ttf) format('truetype');
  font-weight: 100 900;
  font-style: oblique 0deg 12deg;
}

html {
  font-feature-settings: 'cv11';
}

body {
  font-family: Inter, sans-serif;
}

strong {
  font-weight: 600;
}

.oc-login-bg {
  background-image: url(./images/background.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  z-index: 0;
  display: flex;
  width: 100%;
}

#loader {
  /* NOTE(longsleep): White here needed because of the background image */
  color: white;
  text-shadow: #000 0 0 1px;
}

.oc-logo {
  position: absolute;
  top: -130px;
  left: 50%;
  height: 80px;
  transform: translateX(-50%);
}

.oc-progress {
  /* Needs to be important to overwrite material-ui */
  background-color: rgba(78, 133, 200, 0.8) !important;
  height: 4px;
  width: 100px;
}

.oc-progress > div {
  /* Needs to be important to overwrite material-ui */
  background-color: #4a76ac !important;
}

.oc-input {
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  height: 40px;
  width: 300px;
  padding: 16px;
  box-sizing: border-box;
  font-size: 1rem;
}

.oc-label {
  color: #fff;
  display: inline-block;
  margin-bottom: 5px;
}

.oc-input.error {
  outline: none;
  border: 1px solid #fe4600;
}

.MuiTypography-colorError {
  color: #fe4600 !important;
}

.oc-input:focus {
  outline: none;
  border: 1px solid #fff;
}

.oc-input + .oc-input {
  margin-top: 15px;
}

.MuiTouchRipple-root {
  display: none !important;
}

.oc-button {
  /* Needs to be important to overwrite material-ui */
  font-size: 1.0625rem !important;
}

.oc-button-primary {
  /* Needs to be important to overwrite material-ui */
  width: 100%;
  background: linear-gradient(to right, #2c588e, #4e85c8) -1px;
  background-size: 103% !important;
  border: 1px solid transparent !important;
}

.oc-checkbox-dark svg {
  /* Needs to be important to overwrite material-ui */
  fill: white !important;
}

.oc-footer-message {
  color: white;
  padding: 10px;
  font-size: 0.8rem;
}

@media only screen and (max-width: 768px) {
  .oc-logo {
    height: 60px;
    top: -90px;
  }
}

/* Helpers */
.oc-mt-l {
  margin-top: 24px !important;
}

.oc-mb-m {
  margin-bottom: 20px !important;
}

.oc-light {
  color: #fff !important;
}

.oc-login-form div:not(:last-of-type) {
  margin-bottom: 15px;
}

/*
 * Special SR classes
 * Used to hide an element visually, but keeping it accessible for accessibility tools.
 */
.oc-invisible-sr {
  border: 0 !important;
  clip: rect(1px, 1px, 1px, 1px) !important;
  height: 1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  /* Need to make sure we override any existing styles. */
  position: absolute !important;
  top: 0;
  white-space: nowrap;
  width: 1px !important;
}
