@import url(_base.css?v=1.0.5);
@import url(_helpers.css?v=1.0.5);

:root {
  --color-primary:#021452;
  --color-secondary:#0064e0;
  --color-body-bg: #f5f7fa;
  --color-border:#cbd0dd;
  --color-border-light:#dde2ef;
  --color-alt:#eff8ff;
  --color-dark: #000000;
  --color-grey: #666;
  --color-grey-alt: #525b75;
  --color-light: #ffffff;
  --color-success: #25b003;
  --color-success-subtle: #d9fbd0;
  --color-success-subtle-border: #90d67f;
  --color-success-text: #1c6c09;
  --color-warning: #e5780b;
  --color-warning-subtle: #ffefca;
  --color-warning-subtle-border: #ffcc85;
  --color-warning-text: #bc3803;
  --color-danger: #e51e00;
  --color-danger-subtle: #ffe0db;
  --color-danger-subtle-border: #f48270;
  --color-danger-text: #b81800;
  --vh100: 100dvh; 
  --vw100: 100dvw;
  --grid-gap:20px;
  --grid-gap--large:40px;
  --topbar-height: 6rem;
  --bottombar-height: 6rem;
  --topbar-padding: 25px;
  --sidebar-width: 25rem;
  --sidebar-padding: 20px;
  --sidebar-collapse-height:60px;
  --input-height:50px;
  --border-radius:5px;
  --fixed-tabs-height: 60px;

   --font-title: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-body: "Nunito Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";


  @media(max-width:667px) {
    --grid-gap: 15px;
    --grid-gap--large: 30px;
  }
  
  
} 


/* ========================================================================== 
PAGE  
========================================================================== */ 

html {-moz-osx-font-smoothing:grayscale; -webkit-font-smoothing:antialiased; -webkit-text-size-adjust:100%; line-height:1.5; text-rendering:optimizeLegibility; font-size:62.5%; height:100%; scroll-behavior: smooth;}
body {background:var(--color-body-bg);min-height:calc(100% - var(--topbar-height));color: var(--color-dark);font-family:var(--font-body);font-weight:400;-webkit-font-smoothing:antialiased; overflow-x: hidden; }

@media(max-width:360px){
  html{ font-size: 54.5%;}
}

select { overflow: hidden; white-space: nowrap;text-overflow: ellipsis;}
input, select, textarea { border-radius: var(--border-radius)!important;}

/* ========================================================================== 
#LAYOUT  
========================================================================== */
section,footer, main, header,article {width:100%;}
/* ========================================================================== 
HEADINGS 
========================================================================== */

h1, h2, h3, h4, h5, h6 {font-weight: 600;margin:0;font-family: var(--font-title); color: var(--color-primary); line-height: 1.25;}
h1 {font-size:3.4rem}
h2 {font-size:3rem;}
h3 {font-size:2.6rem;}
h4 {font-size:2.2rem;}
h5 {font-size:2rem;}
h6 {font-size:1.8rem;}

@media(max-width:980px) {
  h1 {font-size:3rem;}
  h2 {font-size:2.6rem;}
  h3 {font-size:2.4rem;}
  h4 {font-size:2rem;}
  h5 {font-size:1.8rem;}
  h6 {font-size:1.7rem;}
}

@media(max-width:667px) {
  h1 {font-size:2.6rem;}
  h2 {font-size:2.4rem;}
  h3 {font-size:2.2rem;}
  h4 {font-size:1.8rem;}
  h5 {font-size:1.7rem;}
  h6 {font-size:1.6rem;}
}
@media(max-width:480px) {
  h1 {font-size:2.4rem;}
  h2 {font-size:2.2rem;}
  h3 {font-size:2rem;}
  h4 {font-size:1.7rem;}
  h5 {font-size:1.6rem;}
  h6 {font-size:1.5rem;}
}
/* ========================================================================== 
#MAIN
========================================================================== */


.login-container { height: 100vh; padding: 40px 10px;}
.login-container .content {height: 100%;align-items: center;justify-content: center;flex-direction: column;text-align: center;max-width: 500px;margin: 0 auto;}
.admlogo {display: flex;justify-content: center;}
.admlogo img{width:100%; max-width: 350px;}
.loginbox {padding: var(--grid-gap);background-color: #fff;border-radius: var(--border-radius);border: 1px solid var(--color-border-light); margin:20px 0 }
.loginerr { display: flex;width: 100%;margin-top: 20px;padding: 10px 10px;border: 1px solid var(--color-danger-subtle-border);border-radius: var(--border-radius);background: var(--color-danger-subtle);color: var(--color-danger-text);font-size: 1.5rem;text-align: center;text-wrap-style: pretty;}
.loginsuccess { display: flex;width: 100%;margin-top: 20px;padding: 10px 10px;border: 1px solid var(--color-success-subtle-border);border-radius: var(--border-radius);background: var(--color-success-subtle);color: var(--color-success-text);font-size: 1.5rem;text-align: center;text-wrap-style: pretty;}


@media screen and (max-height:700px) {
  .login-container , .login-container .content { height: auto; }
}
@media screen and (max-width:480px) {
  .admlogo img{max-width: 280px;}
}

/* ========================================================================== 
#TEXT 
========================================================================== */

.text {font-size: 1.5rem;color: var(--color-grey);line-height: 1.5;}
.text.text--large {font-size: 1.8rem;line-height: 1.65;}
.text.text--small {font-size: 1.3rem;line-height: 1.3;}
.text strong { font-weight: 600;}
.text a:not(.m-btn){color: var(--color-secondary);border-bottom: 1px solid;}
.text a:not(.m-btn):hover{color: var(--color-secondary-hover);}

@media(max-width:980px){
  .text.text--large {font-size: 1.6rem;}
  .text { font-size: 1.5rem;}
}

@media(max-width:667px){
  .text { font-size: 1.4rem;}
  .text.text--large {font-size: 1.6rem;}
  .text.text--small { font-size: 1.2rem;}
}

/* ========================================================================== 
BUTTONS 
========================================================================== */

.btn-box {display:flex;flex-wrap:wrap;gap:20px;width: 100%;}
.btn-box.center {justify-content:center;}
.btn-box.right {justify-content:flex-end;}
.btn-box.left {justify-content:flex-start;}
 
.m-btn {pointer-events:auto;cursor:pointer;background:var(--color-secondary);border:none;border-radius: var(--border-radius);padding: 8.5px 20px;margin:0;font-family:inherit;font-size:inherit;position:relative;display:inline-block;font-size: 1.5rem;color:#fff;text-align:center;transition:all ease-in-out .2s !important;line-height: 1.5;text-shadow:none;font-weight: 500;font-family: var(--font-title);outline: none;}

.m-btn.m-btn-s { padding: 8px 15px; font-size: 1.4rem;}
.m-btn.m-btn-xs { padding: 5px 10px; font-size: 1.2rem;}

.m-btn:has(i){ display: inline-flex; gap: 10px; justify-content: center; align-items: center;}

/* Primary Button */
.m-btn.m-btn-primary, .m-btn.m-btn-primary:focus {color: #fff;background: var(--color-primary);}
/* Secondary Button */
.m-btn.m-btn-secondary, .m-btn.m-btn-secondary:focus {color: #fff;background: var(--color-secondary);}
/* success Button */
.m-btn.m-btn-success, .m-btn.m-btn-success:focus {color: #fff;background: var(--color-success);}
/* danger Button */
.m-btn.m-btn-danger, .m-btn.m-btn-danger:focus {color: #fff;background: var(--color-danger);}
/* warning Button */
.m-btn.m-btn-warning, .m-btn.m-btn--warning:focus {color: #fff;background: var(--color-warning);}

.m-btn.m-btn-trans, .m-btn.m-btn-trans:focus {color: var(--color-primary);background: transparent; border: 1px solid var(--color-border-light);}
.m-btn.m-btn-trans:hover { border-color: var(--color-border-light); background-color:  var(--color-border); ; filter: none;}


.m-btn:hover, .m-btn:active { filter: brightness(125%);}
.m-btn:disabled { opacity: 0.5; cursor: not-allowed;}

@media (max-width:960px) {
  .m-btn {padding: 8.5px 20px;font-size:1.5rem;}
}

@media (max-width:667px) {
  .m-btn{padding: 8.5px 15px;font-size:1.4rem;}
}

/* ====================================================================== 
CONTENT 
====================================================================== */


.content { display: flex; flex-wrap: wrap;}
.content [class*="grid-"]:not(.m-btn,.input-label-group) { padding: 0 calc(var(--grid-gap) / 2); margin-top: var(--grid-gap);}
.content > [class*="grid-"]:not(.m-btn):first-of-type{margin-top: 0px;}

.content .content-box { padding: var(--grid-gap); background-color: #fff; border-radius: var(--border-radius); border: 1px solid var(--color-border-light);}
.content-divider { height: 1px; background-color: var(--color-border); width: 100%;}
.content-divider--light { background-color: var(--color-border-light);}



/* ====================================================================== 
FORMS
====================================================================== */

.form-container {
  --grid-gap:15px;
  display: inline-flex;
  width: 100%;
  flex-wrap: wrap;
  gap: var(--grid-gap);
}

.content-divider + .form-container {
  margin-top: 20px; 
}


.form-group { 
 display: flex;
 flex-direction: column;
 width: 100%;
 align-items: flex-start;
}

.form-group.form-group-half {
  width: calc(50% - (var(--grid-gap) / 2));
}

.form-group.form-group-third {
  width: calc(33.33% - (var(--grid-gap) * 2 / 3));
}

.form-group.form-group-1-third {
  width: calc(33.33% - (var(--grid-gap) / 2));
}

.form-group.form-group-2-third {
  width: calc(66.6667% - (var(--grid-gap) / 2));
}


/* Base input, textarea, select */
.form-control {
  font-family: var(--font-body);
  display: block;
  width: 100%;
  padding: 0.75rem 1rem;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-dark);
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

/* Focus */
.form-control:focus {
  background-color: #fff;
  border-color: var(--color-secondary);
  outline: 0;
  /*box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);*/
}

/* Disabled & readonly */
.form-control:disabled,
.form-control[readonly] {
  background-color: #e9ecef;
  opacity: 1;
  cursor: not-allowed;
}

/* Sizes */
.form-control-sm {
  padding: 0.25rem 0.5rem;
  font-size: 1.2rem;
}

.form-control-lg {
  padding: 0.75rem 1rem;
  font-size: 1.6rem;
}

/* Textarea */
textarea.form-control {
  min-height: calc(1.5em + 0.75rem + 2px);
}

/* Select */
select.form-control {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" fill="0064e0" viewBox="0 0 448 512"><path d="M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z"/></svg>');
  background-repeat: no-repeat;
  background-position-x: calc(100% - 0.75rem);
  background-position-y: 50%;
  background-size: 1.4rem;
  appearance: none;
}

select.form-control[multiple],
select.form-control[size]:not([size="1"]) {
  background-image: none;
  padding-right: 0.75rem;
}

.form-container label, .form-label {
  display: flex;
  width: 100%;
  font-size: 1.5rem;
  margin-bottom: 0.25rem;
  color: var(--color-grey);
  gap: 5px;
}

.form-container label:has(.tooltip) i, .form-label:has(.tooltip) i{
  align-items: center;
  font-size: 1.3rem;
  color: var(--color-grey-alt);

}
 
.form-container label .astrick, .form-label .astrick { 
  color: var(--color-danger);
}

/* Validation: Success */ 
.is-valid:not(.no-validate):not(button):required {
  border-color: var(--color-success-subtle-border);
  padding-right: 3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23198754' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM6.293 10.707l5-5-1.414-1.414L6.293 7.879 4.707 6.293 3.293 7.707l3 3z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size:  1.4rem 1.4rem;
}

.is-valid:not(.no-validate):not(button):required:focus {
  border-color: var(--color-success);
  box-shadow: 0 0 0 0.25rem rgba(25, 135, 84, 0.25);
}

label.is-valid:not(.no-validate):not(button):required { color: var(--color-success); background-image: none; padding: 0; margin: 0;}


/* Validation: Error */
.is-invalid:not(.no-validate):not(button) {
  border-color: var(--color-danger);
  padding-right: 3rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23dc3545' viewBox='0 0 16 16'%3E%3Cpath d='M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zM4.646 4.646a.5.5 0 0 0-.708.708L7.293 8l-3.355 3.354a.5.5 0 1 0 .708.708L8 8.707l3.354 3.355a.5.5 0 0 0 .708-.708L8.707 8l3.355-3.354a.5.5 0 1 0-.708-.708L8 7.293 4.646 4.646z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1.4rem 1.4rem;
}

.is-invalid:not(.no-validate):not(button):focus {
  border-color:var(--color-danger);
  box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

label.is-invalid:not(.no-validate):not(button) { color: var(--color-danger); background-image: none; padding: 0; margin: 0;}

/* Feedback messages */
.valid-feedback,
.invalid-feedback {
  display: none;
  font-size: 1.2rem;
  margin-top: 0.25rem;
}

.invalid-feedback { 
  color: var(--color-danger);
}

.valid-feedback { 
  color: var(--color-success);
}

.is-valid ~ .valid-feedback,
.is-invalid ~ .invalid-feedback {
  display: block;
}

/* Input group */
.input-group {
  display: flex;
  align-items: stretch;
  width: 100%;
  position: relative;
}

.input-group > .form-control,
.input-group > .form-select {
  flex: 1 1 auto;
  width: 1%;
  min-width: 0;
}

.input-group-text {
  display: flex;
  align-items: center;
  padding: 0.375rem 0.75rem;
  margin-bottom: 0;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--color-grey-alt);
  text-align: center;
  white-space: nowrap;
  background-color: var(--color-border-light);
  border: 1px solid var(--color-border);
  border-radius: var(--border-radius);
}

.input-group  > input:first-child { 
  border-top-right-radius: 0!important;
  border-bottom-right-radius: 0!important;
}


.input-group > :not(:first-child) {
  margin-left: -1px;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
}

.input-group:has(button) input {
  border-top-right-radius: 0!important;
  border-bottom-right-radius: 0!important;
}

.input-group:has(.autocomplete-group){
  align-items: flex-start;
}

.input-group:has(.autocomplete-group) button {
  flex: none;
}

.input-label-group {
  display: flex;
  align-items: center;
}

.input-label-group label {
  background-color: var(--color-border-light);
  border: 1px solid var(--color-border);
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 1rem;
  font-size: 1.5rem;
  margin: 0;
  justify-content: center;
}


.enquiry-search { 
  display: flex;
  gap: 10px;
}

.input-label-group label.prepend { 
  border-radius: var(--border-radius) 0px 0px var(--border-radius);
}

.input-label-group label.append { 
  border-radius: 0px var(--border-radius) var(--border-radius) 0px;
}


.input-label-group:has(label.prepend) input{
  border-radius: 0px var(--border-radius) var(--border-radius) 0!important;
  border-left: 0px;
}

.input-label-group:has(label.append) input{
  border-radius: var(--border-radius) 0px 0px var(--border-radius)!important;
}

/* Checkboxes and radios */ 
.form-container  .form-check {
  display: flex;
  min-height: 1.5rem;
  padding-left: 2em;
  position: relative;
  align-items: center;
}

.form-container  .form-check-input {
  position: absolute;
  width: 1.2em;
  height: 1.2em;
  vertical-align: top;
  background-color: #fff;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  border: 1px solid #ced4da;
  border-radius: 0.25em;
  appearance: none;
  left: 0;
}

.form-container .form-check-input:checked {
  background-color: #0d6efd;
  border-color: #0d6efd;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M13.485 1.929a1 1 0 010 1.414L6 10.828 2.515 7.343a1 1 0 111.414-1.414L6 8.586l6.071-6.071a1 1 0 011.414 0z'/%3E%3C/svg%3E");
}

.form-container .form-check-input:focus {
  border-color: #86b7fe;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.form-container  .form-check-label {
  margin-bottom: 0px;
  font-weight: 400;
  cursor: pointer;
}


.form-container  .upload-wrapper {
  position: relative;
  width: 100%;
  display: inline-flex;
  align-items: baseline;
  gap: 10px;
  flex-wrap: wrap;
}

  .form-container .upload-wrapper-stacked{
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0px;
  }
  .form-container .upload-wrapper-stacked label {
    width: 100%;
  }

.form-container .upload-label {
  width: auto;
}

.form-container  .upload-input {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
}

.form-container  .file-name {
  margin-top: 5px;
  font-size: 1.4rem;
  color: var(--color-primary);
}

.form-container  .current-file {
  padding: 5px 10px;
  border: 1px solid var(--color-success-subtle-border);
  border-radius: var(--border-radius);
  font-size: 1.4rem;
  margin-top: 10px;
  color: var(--color-success-text);
  background: var(--color-success-subtle);
}

.form-container [class*="col-"] { 
  --grid-gap:15px;
  display: inline-flex;
  width: 100%;
  flex-wrap: wrap;
  gap: var(--grid-gap);
}

.form-container .col-2 { 
  flex: 1;
}

.form-group:has(.toggle-eye) {
  position: relative;
  align-items: center;
  flex-direction: row;
}

.form-group .toggle-eye {
    position: absolute;
    right: 15px;
    cursor: pointer;
    font-size: 14px;
    user-select: none;
    color: var(--color-grey-alt);
}
.form-group:has(.toggle-eye) .form-control {
    padding-right: 40px; /* make space for eye icon */
}

@media(max-width:980px){
  .form-group.form-group-third,
  .form-group.form-group-1-third,
  .form-group.form-group-2-third  {
    width: calc(50% - (var(--grid-gap) / 2));
  }

}

@media(max-width:667px){
  .form-control,
  .input-label-group label{ 
    font-size: 1.4rem;
  }

  .form-group.form-group-half,
  .form-group.form-group-third,
  .form-group.form-group-1-third,
  .form-group.form-group-2-third {
    width: 100%;
  }

  .form-container:has([class*="col-"]) { 
    flex-direction: column;
  }

  .form-container  .upload-wrapper{ 
    flex-direction: column; 
    gap: 0;
    margin-bottom: 10px;
    align-items: center;
  }

  .form-container  .upload-wrapper .m-btn {
    width: 100%;
  }

  .form-container .upload-label {
    font-size: 1.4rem;
  }

  .form-container .current-file { 
    display: flex;
    width: 100%;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }
}

