@font-face {
  font-family: "Graphik";
  src: url("../fonts/Graphik-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Graphik";
  src: url("../fonts/Graphik-Light.ttf") format("truetype");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Graphik";
  src: url("../fonts/Graphik-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Graphik";
  src: url("../fonts/Graphik-Semibold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: "Graphik";
  src: url("../fonts/Graphik-Regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

html {
  scroll-behavior: smooth;
}

::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 8px;
}

::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
  background-color: #49c9c2;
  border-radius: 20px;
  height: 58px;
}

::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
  background: rgb(15 43 97);
}

* {
  scrollbar-width: thin;
  scrollbar-color: #49c9c2 rgb(15 43 97);
}

a,
a:hover,
a:focus {
  text-decoration: none;
  color: #49c9c2;
  outline: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
}

ul {
  padding: 0;
  margin: 0;
}

ul li {
  list-style-type: none;
}

img {
  max-width: 100%;
}

.fw-normal {
  font-weight: normal;
}

.fw-400 {
  font-weight: 400;
}

.fw-500 {
  font-weight: 500;
}

.fw-bold {
  font-weight: bold;
}

.form-outline .form-control:focus~.form-notch .form-notch-leading {
  border-color: #49c9c2 !important;
}

.form-outline .form-control:focus~.form-notch .form-notch-middle {
  border-color: #49c9c2 !important;
}

.form-outline .form-control:focus~.form-notch .form-notch-trailing {
  border-color: #49c9c2 !important;
}

.input-field.input-box input,
.input-field.input-box textarea {
  border: 1px solid #cfd3d8;
  padding: 12px 12px 14px;
  width: calc(100% - 0rem);
  float: none;
  display: block;
  border-radius: 4px;
  transition: box-shadow, border-color 0.15s;
  margin: 0;
  position: relative;
}

.input-field.input-box>input:focus:not([readonly]),
.input-field.input-box>textarea:focus:not([readonly]) {
  border-color: #26a69b;
  box-shadow: 0 0px 0 0px #26a69b;
}

.input-field.input-box label {
  left: 10px;
  display: inline-flex;
  width: auto !important;
  top: 3px;
  padding: 0 2px;
  color: rgb(0 0 0 / 51%) !important;
}

.input-field.input-box label.active {
  background: white;
  transform: translateY(-0.9rem);
  -moz-transform: translateY(-0.9rem);
  -webkit-transform: translateY(-0.9rem);
  -o-transform: translateY(-0.9rem);
  color: rgb(0 0 0 / 51%) !important;
  font-size: 14px !important;
  z-index: 999;
}

input.valid[type="text"]:not(.browser-default) {
  box-shadow: none;
  border-color: #cfd3d8;
}

.input-field.input-box {
  margin-bottom: 25px;
  margin-top: 0px !important;
  position: relative;
}

.input-box.password {
  margin-bottom: 0px !important;
}

.btn {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
  height: auto;
}

.btn:focus,
.btn:hover,
.btn:active {
  background: transparent;
  box-shadow: none !important;
}

.button-link:focus {
  background-color: #49c9c2b8;
  color: #fff;
}

.log-in-with-box ul li a {
  display: block;
}

.left-box {
  width: 50%;
  height: 100%;
  background: url(../images/bg-img.png) repeat #49c9c2;
  background-repeat: no-repeat;
  background-size: cover;
}

.right-form-box {
  width: 50%;
}

.logo-box {
  align-items: center;
  display: flex;
  height: 100%;
  width: 680px;
  margin: 0 auto;
}

.logo-box img {
  width: 100%;
}

.form-box {
  background: #ffffff 0% 0% no-repeat padding-box;
  box-shadow: 0px 10px 30px #acacac24;
  border: 1px solid #f7f9fd;
  border-radius: 6px;
  width: 550px;
  margin: 0 auto;
  position: relative;
  padding: 63px 50px 33px 50px;
  margin-top: 30px;
  margin-bottom: 30px;
}

.form-box:before {
  position: absolute;
  top: -94px;
  left: -96px;
  height: 210px;
  width: 204px;
  background-image: url(../images/form-left-bg.png);
  content: "";
  z-index: -1;
  background-size: cover;
}

.title-text {
  letter-spacing: -0.25px;
  color: #111111;
  font-size: 25px;
  line-height: 25px;
  font-weight: 500;
  padding: 26px 0px 27px 0;
}

.form-input {
  height: 52px !important;
  text-align: left;
  font: normal normal normal 15px/25px Graphik !important;
  letter-spacing: -0.19px;
  color: #273751;
  box-sizing: border-box !important;
}

.form-label {
  text-align: left;
  font: normal normal normal 17px/22px Graphik !important;
  letter-spacing: -0.17px;
  color: #273751 !important;
  position: absolute;
  left: 12px;
  top: 3px;
  -webkit-transition: color 0.2s ease-out, -webkit-transform 0.2s ease-out;
  transition: color 0.2s ease-out, -webkit-transform 0.2s ease-out;
  transition: transform 0.2s ease-out, color 0.2s ease-out;
  transition: transform 0.2s ease-out, color 0.2s ease-out,
    -webkit-transform 0.2s ease-out;
  -webkit-transform-origin: 0% 100%;
  transform-origin: 0% 100%;
  text-align: initial;
  -webkit-transform: translateY(12px);
  transform: translateY(12px);
  pointer-events: none;
}

.forgot-password-text {
  color: #49c9c2;
  font-weight: 400;
  font-size: 17px;
  padding: 15px 0;
  display: block;
  line-height: 18px;
  text-transform: capitalize;
}

.button-link {
  background: var(--unnamed-color-49c9c2) 0% 0% no-repeat padding-box;
  background: #49c9c2 0% 0% no-repeat padding-box;
  border-radius: 6px;
  width: 100%;
  padding: 15px 15px;
  text-align: center;
  letter-spacing: 0px;
  color: #ffffff;
  font-size: 21px;
  line-height: 21px;
  text-transform: inherit;
}

.button-link:hover {
  color: #49c9c2;
  background: transparent;
  border-color: #49c9c2;
  transition: 800ms;
}

.or-log-box {
  border-top: 1px solid #ccc;
  margin: 20px 0;
}

.or-log-in-text {
  margin-top: -8px !important;
  background: #fff;
  display: table;
  margin-left: auto !important;
  margin-right: auto !important;
  letter-spacing: -0.12px;
  color: #2737519e;
  font-size: 12px;
  line-height: 15px;
  padding: 0 10px;
}

.log-in-with-box ul {
  display: flex;
  justify-content: space-between;
}

.account-box p {
  font: normal normal normal 15px/20px Graphik;
  letter-spacing: -0.15px;
  color: #111111;
  text-align: center;
}

.account-box {
  margin-top: 15px;
}

.account-box p a {
  text-decoration: underline;
  letter-spacing: -0.15px;
  color: #49c9c2;
  vertical-align: inherit;
  text-transform: capitalize;
  padding-left: 3px;
}

.form-outline .form-control.active~.form-label,
.form-outline .form-control:focus~.form-label {
  -webkit-transform: translateY(-1.3rem) translateY(0.1rem) scale(0.8);
  transform: translateY(-1.3rem) translateY(0.1rem) scale(0.8);
  color: rgb(0 0 0 / 51%) !important;
}

.form-box:after {
  position: absolute;
  background-image: url(../images/form-bg.png);
  content: "";
  z-index: -1;
  background-size: cover;
  bottom: -32px;
  right: -41px;
  width: 132px;
  height: 131px;
}

.button-link:hover {
  background-color: #49c9c2b8;
  color: #fff;
}

.password-icon {
  position: absolute;
  right: 10px;
  top: 1%;
  z-index: 9;
  padding: 17px 8px 11px;
}

.password-input {
  padding-right: 35px !important;
}

.forgot-text {
  font: normal normal normal 17px/27px Graphik;
  letter-spacing: 0px;
  color: #000000;
  margin-bottom: 26px;
}

.login-main-box {
  height: 100%;
  display: table;
  table-layout: fixed;
  width: 100%;
}

.login-box {
  display: table-cell;
  float: none;
  vertical-align: middle;
  height: 100vh;
}

app-root {
  width: 100% !important;
  display: block !important;
  height: 100%;
}

.ant-input-focused,
.ant-input:focus,
.ant-input-affix-wrapper-focused,
.ant-input-affix-wrapper:focus,
.ant-input-affix-wrapper:not(.ant-input-affix-wrapper-disabled):hover,
.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {
  box-shadow: none !important;
  border-color: #cfd3d8 !important;
}

.ant-form-item-explain.ant-form-item-explain-error {
  position: absolute;
  bottom: -23px;
  width: 100%;
  font-size: 12px;
  z-index: 99;
}

/* Add Expense modal validation visibility fix */
.add-expense-modal .ant-form-item-explain,
.add-expense-modal .ant-form-item-explain.ant-form-item-explain-error,
.add-expense-modal .ant-form-item-explain-error {
  position: relative !important;
  inset: auto !important;
  bottom: auto !important;
  width: auto !important;
  display: block !important;
  margin-top: 6px !important;
  z-index: 5 !important;
}

.add-expense-modal .pr-header-add .ant-form-item-with-help {
  margin-bottom: 32px !important;
}

.add-expense-modal .pr-header-add .input-field label,
.add-expense-modal .pr-header-add .input-field.input-box label {
  z-index: 1 !important;
}

.phone-number-label {
  left: 80px;
}

.ant-select-focused:not(.ant-select-disabled).ant-select:not(.ant-select-customize-input) .ant-select-selector {
  border-color: #cfd3d8 !important;
}

@media screen and (max-width: 1699px) {
  .form-box {
    padding: 30px 20px 20px 20px;
  }

  .form-box:before {
    height: 155px;
    width: 151px;
    top: -67px;
    left: -69px;
  }

  .logo-box {
    width: 550px;
  }
}

@media screen and (max-width: 1499px) {
  .logo-box {
    width: 500px;
  }

  .form-box {
    padding: 50px 40px 20px 40px;
  }

  .left-box {
    width: 45%;
  }

  .right-form-box {
    width: 55%;
  }
}

@media screen and (max-width: 1299px) {
  .form-box:before {
    height: 180px;
    width: 175px;
    top: -75px;
    left: -77px;
  }

  .form-box {
    padding: 25px 25px 20px 25px;
    width: 500px;
  }

  .logo-box {
    width: 400px;
  }
}

@media screen and (max-width: 1199px) {
  .form-box:before {
    height: 105px;
    width: 100px;
    top: -50px;
    left: 0;
  }

  .logo-box {
    width: 300px;
  }

  .left-box {
    width: 40%;
  }

  .right-form-box {
    width: 60%;
  }
}

@media screen and (max-width: 992px) {
  .left-box {
    width: 30%;
  }

  .right-form-box {
    width: 70%;
  }

  .logo-box {
    width: 200px;
  }

  .form-box {
    padding: 30px 20px 20px 20px;
    width: 420px;
  }

  .log-in-with-box ul li {
    width: 28%;
  }
}

@media screen and (max-width: 767px) {
  .left-box {
    display: none;
  }

  .right-form-box {
    width: 100%;
  }

  .form-box:after {
    bottom: -30px;
    right: 0;
    width: 90px;
    height: 91px;
  }

  .main-box {
    height: 100%;
  }

  html,
  body {
    height: 100%;
    padding: 0px !important;
  }
}

@media screen and (max-width: 480px) {
  .form-box {
    padding: 15px 5px 15px 5px;
    width: 93%;
  }

  .form-box:before {
    height: 71px;
    width: 80px;
    top: -33px;
    left: -34px;
  }

  .form-box:after {
    bottom: -35px;
    right: 0px;
    width: 90px;
    height: 91px;
  }
}