/*!
 * Start Bootstrap - Landing Page v5.0.6 (https://startbootstrap.com/template-overviews/landing-page)
 * Copyright 2013-2019 Start Bootstrap
 * Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-landing-page/blob/master/LICENSE)
 */

 body {
    font-family: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  }
  
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    font-family: 'Lato', 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight: 700;
  }
  
  header.masthead {
    position: relative;
    background-color: #343a40;
    background: url("../img/bg-masthead.jpg") no-repeat center center;
    background-size: cover;
    padding-top: 8rem;
    padding-bottom: 8rem;
  }
  
  header.masthead .overlay {
    position: absolute;
    background-color: #212529;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    opacity: 0.3;
  }
  
  header.masthead h1 {
    font-size: 2rem;
  }
  
  @media (min-width: 768px) {
    header.masthead {
      padding-top: 12rem;
      padding-bottom: 12rem;
    }
    header.masthead h1 {
      font-size: 3rem;
    }
  }
  
  .showcase .showcase-text {
    padding: 3rem;
  }
  
  .showcase .showcase-img {
    min-height: 30rem;
    background-size: cover;
  }
  
  @media (min-width: 768px) {
    .showcase .showcase-text {
      padding: 7rem;
    }
  }
  
  .features-icons {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }
  
  .features-icons .features-icons-item {
    max-width: 20rem;
  }
  
  .features-icons .features-icons-item .features-icons-icon {
    height: 7rem;
  }
  
  .features-icons .features-icons-item .features-icons-icon i {
    font-size: 4.5rem;
  }
  
  .features-icons .features-icons-item:hover .features-icons-icon i {
    font-size: 5rem;
  }
  
  .testimonials {
    padding-top: 7rem;
    padding-bottom: 7rem;
  }
  
  .testimonials .testimonial-item {
    max-width: 18rem;
  }
  
  .testimonials .testimonial-item img {
    max-width: 12rem;
    -webkit-box-shadow: 0px 5px 5px 0px #adb5bd;
    box-shadow: 0px 5px 5px 0px #adb5bd;
  }
  
  .call-to-action {
    position: relative;
    background-color: #343a40;
    background: url("../img/bg-masthead.jpg") no-repeat center center;
    background-size: cover;
    padding-top: 7rem;
    padding-bottom: 7rem;
  }
  
  .call-to-action .overlay {
    position: absolute;
    background-color: #212529;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
    opacity: 0.3;
  }
  
  footer.footer {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  

  /*
  * Google font help from: https://google-webfonts-helper.herokuapp.com/fonts/lato?subsets=latin
  */

  /* lato-300 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 300;
  src: url('../fonts/lato-v15-latin-300.eot'); /* IE9 Compat Modes */
  src: local('Lato Light'), local('Lato-Light'),
       url('../fonts/lato-v15-latin-300.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/lato-v15-latin-300.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/lato-v15-latin-300.woff') format('woff'), /* Modern Browsers */
       url('../fonts/lato-v15-latin-300.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/lato-v15-latin-300.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-300italic - latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 300;
  src: url('../fonts/lato-v15-latin-300italic.eot'); /* IE9 Compat Modes */
  src: local('Lato Light Italic'), local('Lato-LightItalic'),
       url('../fonts/lato-v15-latin-300italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/lato-v15-latin-300italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/lato-v15-latin-300italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/lato-v15-latin-300italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/lato-v15-latin-300italic.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-regular - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/lato-v15-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Lato Regular'), local('Lato-Regular'),
       url('../fonts/lato-v15-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/lato-v15-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/lato-v15-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/lato-v15-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/lato-v15-latin-regular.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-italic - latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 400;
  src: url('../fonts/lato-v15-latin-italic.eot'); /* IE9 Compat Modes */
  src: local('Lato Italic'), local('Lato-Italic'),
       url('../fonts/lato-v15-latin-italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/lato-v15-latin-italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/lato-v15-latin-italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/lato-v15-latin-italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/lato-v15-latin-italic.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-700 - latin */
@font-face {
  font-family: 'Lato';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/lato-v15-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Lato Bold'), local('Lato-Bold'),
       url('../fonts/lato-v15-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/lato-v15-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/lato-v15-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/lato-v15-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/lato-v15-latin-700.svg#Lato') format('svg'); /* Legacy iOS */
}
/* lato-700italic - latin */
@font-face {
  font-family: 'Lato';
  font-style: italic;
  font-weight: 700;
  src: url('../fonts/lato-v15-latin-700italic.eot'); /* IE9 Compat Modes */
  src: local('Lato Bold Italic'), local('Lato-BoldItalic'),
       url('../fonts/lato-v15-latin-700italic.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/lato-v15-latin-700italic.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/lato-v15-latin-700italic.woff') format('woff'), /* Modern Browsers */
       url('../fonts/lato-v15-latin-700italic.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/lato-v15-latin-700italic.svg#Lato') format('svg'); /* Legacy iOS */
}



:root {
    --input-padding-x: 1.5rem;
    --input-padding-y: 0.75rem;
  }
  
  .login,
  .image {
    min-height: 60vh;
  }
  
  .bg-image {
    background-image: url('../img/bg-login.jpg');
    background-size: cover;
    background-position: center;
  }

  /* The left-side hero image will dynamically resize itself to fit its div. By
   * default, that div's height will expand to match the height of the
   * right-side content. As a result, when you move between states with varying
   * text in the right-side, the image appears to jump around, which looks bad.
   * Examples of states with varying right-side text are the initial login
   * screen, the login screen with status text like "Incorrect login", the 2fa
   * token entry screen, and the CWCK vs. CWUSK login screens.
   *
   * To prevent the image jumping, we've assigned a height to the image. To
   * determine the height, we first identified the right-side content with the
   * tallest height, which is currently the CWCK login screen with the status
   * message "Your browser session has expired. Please try again." (It may be
   * inconvenient to reproduce that message organically, but you can fake it by
   * entering incorrect login credentials and then going into the browser dev
   * tools and editing the status message.) Then we found the rendered height of
   * the image and rounded it up. We repeated this for each breakpoint. Note
   * that the content is at its tallest when the browser's width is exactly at
   * the breakpoint, so we had to to check at the exact breakpoint instead of
   * somewhere between breakpoints. Also note that the image is hidden below the
   * 768px breakpoint, so we don't have to worry about the lower ones.
   */
  @media only screen and (min-width: 768px) {
    .bg-image {
      height: 760px;
    }
  }
  @media only screen and (min-width: 992px) {
    .bg-image {
      height: 780px;
    }
  }
  @media only screen and (min-width: 1200px) {
    .bg-image {
      height: 732px;
    }
  }

  .login-heading {
    font-weight: 300;
  }
  
  .btn-login {
    font-size: 0.9rem;
    letter-spacing: 0.05rem;
    padding: 0.75rem 1rem;
    /* border-radius: 2rem; */
  }
  
  .form-label-group {
    position: relative;
    margin-bottom: 1rem;
  }
  
  .form-label-group>input,
  .form-label-group>label {
    padding: var(--input-padding-y) var(--input-padding-x);
    height: auto;
    /* border-radius: 2rem; */
  }
  
  .form-label-group>label {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    margin-bottom: 0;
    /* Override default `<label>` margin */
    line-height: 1.5;
    color: #495057;
    cursor: text;
    /* Match the input under the label */
    border: 1px solid transparent;
    border-radius: .25rem;
    transition: all .1s ease-in-out;
  }
  
  .form-label-group input::-webkit-input-placeholder {
    color: transparent;
  }
  
  .form-label-group input:-ms-input-placeholder {
    color: transparent;
  }
  
  .form-label-group input::-ms-input-placeholder {
    color: transparent;
  }
  
  .form-label-group input::-moz-placeholder {
    color: transparent;
  }
  
  .form-label-group input::placeholder {
    color: transparent;
  }
  
  .form-label-group input:not(:placeholder-shown) {
    padding-top: calc(var(--input-padding-y) + var(--input-padding-y) * (2 / 3));
    padding-bottom: calc(var(--input-padding-y) / 3);
  }
  
  .form-label-group input:not(:placeholder-shown)~label {
    padding-top: calc(var(--input-padding-y) / 3);
    padding-bottom: calc(var(--input-padding-y) / 3);
    font-size: 12px;
    color: #777;
  }
  
  /* Fallback for Edge
  -------------------------------------------------- */
  
  @supports (-ms-ime-align: auto) {
    .form-label-group>label {
      display: none;
    }
    .form-label-group input::-ms-input-placeholder {
      color: #777;
    }
  }
  
  /* Fallback for IE
  -------------------------------------------------- */
  
  @media all and (-ms-high-contrast: none),
  (-ms-high-contrast: active) {
    .form-label-group>label {
      display: none;
    }
    .form-label-group input:-ms-input-placeholder {
      color: #777;
    }
  }