:root {
  /* Brand palette */
  --color-dark-green: #021F19;
  --color-green: #055143;
  --color-light-green: #27A27D;
  --color-dark-purple: #1f071f;
  --color-purple: #4f0759;
  --color-light-purple: #a945f8;
  --color-accent-yellow: #fcff61;
  --color-white: #FFFFFF;
  --color-text-primary: #121416;
  --color-text-secondary: #4A4E56;
  --color-border: #bdbfc3;
  --color-background: #Edeeef;

  /* Shorthand */
  --theme-color: var(--color-green);
}

/* spacing utilities */
.p-r-10 { padding-right: 10px; }
.p-t-15 { padding-top: 15px; }
.p-t-b-10 { padding-top: 10px; padding-bottom: 10px; }

/* flash message container */
#flashMessages{
  position: fixed;
  width:100%!important;
  align-self: center;
  z-index:1000;
  min-width:40%;
  text-align: center;
  top:0;
}
#flashMessages .alert{ margin-bottom: 0px!important; }
#flashMessages .alert:not(:first-child){ margin-top: 2px!important; }

/* freeze‑screen overlay */
#freezscreen_bg{
  background-color: var(--color-background);
  display: block;
  position: fixed;
  z-index: 99999;
  opacity: 0.5;
  padding:0 auto;
  margin:0;
  top:0; left:0;
  width:100%; height:100%;
}
#freezescreen_text{
  text-align:center;
  margin-top: 0%;
  opacity: 1;
  font-size:18px;
  font-weight: bold;
  z-index:100000;
  background-color: var(--color-purple);
  color: var(--color-white);
  position: relative;
}

/* policy link */
.showMyPolicy{ cursor:pointer; }
.showMyPolicy .success-color{ color: var(--color-light-green); }
.showMyPolicy:hover{ color: var(--color-light-green); }

/* child flash messages */
.childflashmsg{
  font-family: courier;
  font-size: 16px;
}
.childflashmsg.warning{
  background-color: var(--color-accent-yellow)!important;
  border-color: var(--color-accent-yellow)!important;
  color: var(--color-text-primary)!important;
}
.childflashmsg.info{
  background-color: var(--color-light-purple)!important;
  border-color: var(--color-light-purple)!important;
  color: var(--color-white)!important;
}
.childflashmsg.error,
.childflashmsg.danger{
  background-color: var(--color-purple)!important;
  border-color: var(--color-purple)!important;
  color: var(--color-white)!important;
}
.childflashmsg.success{
  background-color: var(--color-light-green)!important;
  border-color: var(--color-light-green)!important;
  color: var(--color-white)!important;
}

/* countdown timer */
#timer{
  position: relative;
  top:0; left:0;
  width:100%!important;
  align-self: center;
  z-index:1000;
  min-width:40%;
  text-align: center;
  background-color: var(--color-accent-yellow);
  color: var(--color-text-primary);
  font-size: 20px;
  font-weight: bold;
  font-family: 'Times New Roman', Times, serif;
  text-align: right;
  padding-right:5%!important;
}

/* full‑screen loader */
#fullscreen_loader{
  position: fixed;
  height: 99%!important;
  width:100%!important;
  align-self: center;
  z-index:1500;
  min-width:40%;
  text-align: center;
  background-color: var(--color-background);
}

.btn-primary {
    color: #fff;
    background-color: var(--theme-color);
    border-color: var(--theme-color);
}

.btn-primary:hover,
.btn-default:hover,
.btn-primary.active:hover{
    color: #fff;
    background-color: var(--color-light-green);
    border-color: var(--color-light-green);
}

.btn-success {
  background-color: var(--theme-color);
  border-color: var(--theme-color);
}
