@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;600;700&display=swap");

:root {
  --font-family: "Roboto", sans-serif;
  --primary: #90292A;
  --primary-rgb: 144, 41, 42;
  --primary-dark: #430C0D;
  --primary-dark-rgb: 67, 12, 13;
  --primary-light: #C37273;
  --primary-light-rgb: 195, 114, 115;
  --accent: #00AFAA;
  --accent-rgb: 0, 175, 170;
  --accent-dark: #0c4343;
  --accent-dark-rgb: 12, 67, 67;
  --accent-light: #00D9D9;
  --accent-light-rgb: 0, 217, 217;
  --success: #13d527;
  --success-dark: #00ae11;
  --success-light: #eafbe7;
  --secondary: var(--accent);
  --secondary-dark: #6013c7;
  --secondary-light: #f4e5fa;
  --info: #15b2d5;
  --info-dark: #0f8ca8;
  --info-light: #e0f5fa;
  --caution: #dbbb25;
  --caution-dark: #d58f15;
  --caution-light: #fbf9e4;
  --error: #FF0000;
  --error-dark: #bf1257;
  --error-light: #fce4eb;
  --black: #000000;
  --black-rgb: 0, 0, 0;
  --dark-1: #2d2d2d;
  --dark-1-rgb: 45, 45, 45;
  --dark-2: #4d4d4d;
  --dark-2-rgb: 77, 77, 77;
  --dark-3: #6d6d6d;
  --dark-3-rgb: 109, 109, 109;
  --gray-1: #A4A9AD;
  --gray-1-rgb: 164, 169, 173;
  --gray-2: #DBD9D6;
  --gray-2-rgb: 219, 217, 214;
  --gray-3: #cdcdcd;
  --gray-3-rgb: 205, 205, 205;
  --gray-4: #e0e0e0;
  --gray-4-rgb: 224, 224, 224;
  --gray-5: #DBD9D6;
  --gray-5-rgb: 219, 217, 214;
  --light-1: #efefef;
  --light-1-rgb: 239, 239, 239;
  --light-2: #f5f5f5;
  --light-2-rgb: 245, 245, 245;
  --light-3: #fafafa;
  --light-3-rgb: 250, 250, 250;
  --white: #ffffff;
  --white-rgb: 255, 255, 255;
  --gradient-1: linear-gradient(180deg, #90292A 0%, #430C0D 100%);
  --gradient-2: linear-gradient(180deg, #90292A 13.02%, #00AFAA 85.42%);
  --gradient-3: linear-gradient(180deg, #90292A 0%, #000000 100%);
  --gradient-4: linear-gradient(180deg, #90292A 0%, #ffffff 100%);

  --border-radius: 24px;
  --input-box-shadow: 4px;
  --text-primary: #90292A;
  --text-accent: #00AFAA;

  --bs-primary: var(--primary) !important;
  --bs-link-color: var(--primary) !important;
  --bs-link-hover-color: var(--primary) !important;
  --bs-btn-bg: var(--primary) !important;
}

.color-primary {
  color: var(--primary);
}

.color-secondary {
  color: var(--secondary);
}

.color-accent {
  color: var(--accent);
}

.color-accent-dark {
  color: var(--accent-dark);
}

*::selection {
  background: var(--primary);
  color: var(--white);
}

body {
  font-family: var(--font-family);
  color: var(--black);
  font-size: 18px;
  height: 100%;
  min-height: 100vh;
}

@media (max-width: 991px) {
  body {
    font-size: 14px;
  }
}
section {
  margin: 20px 0;
}

img {
  max-width: 100%;
}

a {
  display: inline-block;
}

a,
button,
a:hover,
a:focus,
input:focus,
textarea:focus,
button:focus {
  color: var(--accent);
  text-decoration: underline;
  outline: none;
}

ul,
ol {
  margin: 0px;
  padding-left: 15px;
}

li {
  margin-left: 20px;
}

h1.level-1 {
  font-size: 64px;
  line-height: 68px;
  font-weight: 600;
}
@media only screen and (max-width: 576px) {
  h1.level-1 {
    font-size: 42px;
    line-height: 50px;
  }
}


h1.level-2 {
  font-size: 56px;
  line-height: 60px;
  font-weight: 600;
}

@media only screen and (max-width: 576px) {
  h1.level-2 {
    font-size: 36px;
    line-height: 40px;
  }
}

h2,
.h2 {
  font-size: 48px;
  line-height: 56px;
  font-weight: 600;
}
@media only screen and (max-width: 576px) {
   h2, .h2 {
    font-size: 30px;
    line-height: 36px;
  }
}

h3,
.h3 {
  font-size: 38px;
  line-height: 44px;
  font-weight: 600;
}

@media only screen and (max-width: 576px) {
  h3, .h3 {
    font-size: 24px;
    line-height: 32px;
  }
}

h4,
.h4 {
  font-size: 28px;
  line-height: 36px;
  font-weight: 600;
}

@media only screen and (max-width: 576px) {
  h4, .h4 {
    font-size: 20px;
    line-height: 28px;
  }
}

h5,
.h5 {
  font-size: 22px;
  line-height: 28px;
  font-weight: 600;
}

@media only screen and (max-width: 576px) {
  h5, .h5 {
    font-size: 18px;
    line-height: 26px;
  }
}

h6,
.h6 {
  font-size: 16px;
  line-height: 22px;
  font-weight: 600;
}

p {
  font-size: 18px;
  line-height: 28px;
  margin-bottom: 18px;
}

strong {
  font-weight: 700;
}

legend {
  font-size: 18px;
}

.display-1 {
  font-size: 5.5em;
  line-height: 1.25;
}

.display-2 {
  font-size: 4.75em;
  line-height: 1.25;
}

.display-3 {
  font-size: 4em;
  line-height: 1.25;
}

.display-4 {
  font-size: 3.25em;
  line-height: 1.25;
}

.text-small {
  font-size: 0.875em;
  line-height: 1.5;
}

.text-lg {
  font-size: 1.15em;
  line-height: 1.5;
}

.bg_cover {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

@media (max-width: 767px) {
  .container {
    padding-left: 20px;
    padding-right: 20px;
  }
}

/* alerts */
.alert {
  border-radius: 16px;
}

.btn {
  border: 1px solid transparent;
  /* border-radius: 4px; */
  font-weight: bold;
  font-size: 16px;
  letter-spacing: 0.08em;
  line-height: 20px;
  padding: 12px 24px;
  text-align: center;
  text-transform: uppercase;
}

.btn:hover {
  color: inherit;
}

.btn:focus {
  box-shadow: none;
  outline: none;
}

.btn.btn-lg {
  font-size: 1.15em;
  padding: 16px 24px;
}

.btn.btn-sm {
  padding: 8px 16px;
}

.btn.square {
  border-radius: 0px;
}

.btn.semi-rounded {
  border-radius: 12px;
}

.btn.rounded-full {
  border-radius: 50px;
}

.btn.icon-left span,
.btn.icon-left i {
  margin-right: 8px;
}

.btn.icon-right span,
.btn.icon-right i {
  margin-left: 8px;
}

.btn.icon-btn {
  height: 48px;
  line-height: 48px;
  padding: 0;
  width: 48px;
}

.btn.icon-btn.btn-lg {
  height: 56px;
  line-height: 56px;
  width: 56px;
}

.btn.icon-btn.btn-sm {
  height: 40px;
  line-height: 40px;
  width: 40px;
}

.btn-section {
  border-bottom: 1px solid var(--accent);
}

@media only screen and (max-width: 576px) {
  .btn-section .btn {
    font-size: 15px;
  }
}

@media only screen and (max-width: 576px) {
  .btn-section {
    display: block !important;
  }
}

.btn-section.fixed-top {
  margin-left: 320px;
  margin-top: 80px;
  z-index: 998;
}

@media only screen and (max-width: 576px) {
    .btn-section.fixed-top {
      margin-left: 0;
      margin-top: 0;
      position: relative;
    }
}

/* login page */
.bg-login-image {
  background: url('../images/login-bg.png') no-repeat center center;
  background-size: cover;
}

.login-form {
  background-color: var(--white);
  border: 1px solid var(--gray-4);
  border-radius: var(--border-radius);
  padding: 40px;
  margin: 160px 0;
  width: 490px;
}

.login-form .primary-btn {
  width: 100%;
}

.login-form .signin-title {
  color: var(--accent-dark);
  font-size: 28px;
  font-weight: 800;
  line-height: 32px;
}

.password-toggle {
  background: none;
  border: none;
  outline: none;
  padding: 0;
  position: absolute;
  right: 1rem;
  top: 50%;
  transform: translateY(-50%);
  cursor: pointer;
}

.password-toggle:hover {
  border: 0;
  outline: none;
  box-shadow: none;
}

.password-toggle:focus {
  border: 0;
  outline: none;
  box-shadow: none;
}

.password-toggle i {
  right: -4px !important;
  top: -16px !important;
}

.login-form .notice {
  font-size: 0.85rem;
  line-height: 1rem;
}

.login-form a {
  font-size: 0.85rem;
  line-height: 1rem;
}
.login-form a.exit-link {
  color: var(--black);
  font-size: 16px;
  text-decoration: none;
}
/* dashboard */
.header {
  align-items: center;
  background-color: #FFFFFF;
  border-bottom: 1px solid var(--accent);
  color: white;
  display: flex;
  height: 80px;
  justify-content: space-between;
  left: 0;
  padding: 0 20px;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 999;
}
@media only screen and (max-width: 576px) {
    .header {
        position: relative;
    }
}

.btn-menu {
  background-position: center;
  background-repeat: no-repeat;
  background-size: 30px 30px;
  border: 1px solid var(--accent);
  border-radius: var(--border-radius);
  cursor: pointer;
  height: 35px;
  padding: 24px;
  width: 35px;
}
.btn-menu {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2300AFAA' viewBox='0 0 16 16'%3E%3Cpath fill-rule='evenodd' d='M2.5 12a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5m0-4a.5.5 0 0 1 .5-.5h10a.5.5 0 0 1 0 1H3a.5.5 0 0 1-.5-.5'/%3E%3C/svg%3E");
}

.btn-menu.open {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%2300AFAA' viewBox='0 0 16 16'%3E%3Cpath d='M4.646 4.646a.5.5 0 0 1 .708 0L8 7.293l2.646-2.647a.5.5 0 0 1 .708.708L8.707 8l2.647 2.646a.5.5 0 0 1-.708.708L8 8.707l-2.646 2.647a.5.5 0 0 1-.708-.708L7.293 8 4.646 5.354a.5.5 0 0 1 0-.708'/%3E%3C/svg%3E");
}

/* aside section*/
aside {
  background: var(--white);
  height: calc(100vh - 80px); 
  left: 0;
  position: fixed;
  top: 80px;
  width: 320px;
  z-index: 100;
}
@media only screen and (max-width: 576px) {
  aside {
    height: auto;
    position: relative;
    top: 0;
    width: 100% !important;
  }
}
aside .app-title {
  font-size: 22px;
}
/* main content section */
main {
  background: rgba(var(--gray-2-rgb), 0.4);
  flex: 1;
  margin-left: 320px;
  margin-top: 50px;
  min-height: 100vh;
  /* min-width: 1240px; */
  padding: 50px 40px !important;
}
@media only screen and (max-width: 576px) {
    main {
      display: block !important;
      margin: 0;
      padding: 0 !important;
    }
}
main .container {
  min-width: 1200px;
}
.login main {
  margin-top: 0;
  margin-left: 0;
}
.divider {
  border-top-color: var(--gray-2) !important;
}
/* footer section */
footer {
  bottom: 0;
  padding-bottom: 16px;
  width: 100%;
}
@media only screen and (max-width: 576px) {
    footer {
        display: none;
    }
}
footer p {
  font-size: 14px;
  margin-bottom: 0;
}

.is-valid,
.was-validated .form-control:valid,
.was-validated .form-select:valid {
    border-color: inherit !important;
    background-image: none !important;
}

.select2-container--bootstrap-5 .select2-selection.is-valid {
    border-color: inherit !important;
    box-shadow: none !important;
}

input[type="text"]:invalid { 
  border-color: inherit !important; 
}

.was-validated input[type="text"]:invalid { 
  border: 1px solid var(--error) !important;
}