:root {
  --bg-cal-prim-color: #EFEFEF;  
  --bg-cal-sec-color: #EAEAEA;
  --bg-cal-focus-color: #878787;
  --bg-cal-hover-color: #D2D2D2;
  --font-cal-prim-color: #111111;
  --font-cal-sec-color: #080808;
  --font-cal-focus-color: #010101;

  --bg-base: transparent;
  --bg-prim-color: #FFFFFF;
  --bg-sec-color: rgba(197, 235, 248, 0.4);
  --bg-tert-color: #95C0CE;

  --bg-prim-past-color: #968f8f;
  --bg-sec-past-color: #777070;
  
  
  --bg-button-prim-color: rgb(234, 250, 255);
  --bg-button-sec-color: #F2F2F2;
  --bg-button-tert-color: #FFFFFF;

  --bg-note-color: #FFF510;
  --bg-note-inactive-color: #fffee4;
  --bg-negative-color: #B01313;
  
  --cal-booking-bg: rgb(2, 73, 97);
  --cal-booking-font: rgb(239, 251, 255);
  --cal-booking-selected-bg: rgb(239, 251, 255);
  --cal-booking-selected-font: rgb(2, 73, 97);
  --cal-booking-editing-bg: #FFF510;
  --cal-booking-editing-font: #000000;
  --cal-booking-new-bg: rgba(2, 50, 66, 0.4);
  --cal-booking-new-font: rgb(239, 251, 255);
 
  --cal-request-bg: rgba(174, 99, 16, 0.3);
  --cal-request-font: rgb(127, 0, 0);

  --font-prim-color: #000000;
  --font-inverse-color: #FFFFFF;
  --font-select-color: #777777;
  --font-alert-color: #B01313;
  --font-highlight-color: #00a5c3;
  --font-disabled-color: rgba(35,35,35, 0.4);
  
  --accept-color: #0D9D00;
  --accept-bg-color: rgb(152,175,150);
  --reject-color: #B01313;
  --reject-bg-color: rgb(233, 182, 182);
  --delete-color: #B01313;

  --reset-color: #FFFBA0;

  --negative-color: #B01313;
  --positive-color: #B2EA8F;

  --new-star-color: #FEFFC1;

  --upcoming-color: #5f6f3b;
  --past-color: #E67C00;
  --current-color: #5468e7;

  --default-count-color: #FFFFFF;

  --border-color-triplet: 14, 14, 14;
  --border-color: rgba(var(--border-color-triplet),0.7);
  --focussed-border-color-triplet: 102, 120, 243;
  --focussed-border-color: rgba(var(--focussed-border-color-triplet), 0.9);
  --disabled-border-color-triplet: 35, 35, 35;
  --disabled-border-color: rgba(var(--focussed-border-color-triplet), 0.5);

  --note-exists-color: #000000;
  --note-doesnt-exist-color: rgba(0, 0, 0, .2);
 
  --missing-color: #888888;
  --loading-color: #888888;
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  color: var(--font-prim-color);
  background-color: var(--bg-base);
}

input {
  background-color: var(--bg-prim-color);
}

*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

*::before {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;

  font-family: 'Raleway';
  background-color: var(--bg-prim-color);
}

input {
  font-family: 'Raleway';  
}

input:focus {
  outline: rgba(var(--focussed-border-color-triplet), 0.4) auto 1px;
  box-shadow:
    0px 0px 2.2px rgba(0, 0, 0, 0.007),
    0px 0px 5.3px rgba(0, 0, 0, 0.017),
    0px 0px 10px rgba(0, 0, 0, 0.032),
    0px 0px 17.9px rgba(0, 0, 0, 0.051),
    0px 0px 33.4px rgba(0, 0, 0, 0.07),
    0px 0px 80px rgba(0, 0, 0, 0.07);
}

input[type="radio"]:focus {
  outline: none;
  box-shadow: none;
}

a {
  -webkit-tap-highlight-color: transparent;
}

*:focus-visible {
  outline: none;
}

a:focus {
  outline-style: none;
}

a:enabled:active {
  filter: blur(0.1rem);
}

ul {
  margin-inline-start: 1rem;
  margin-top: 0.3rem;
  margin-bottom: 0.2rem;
}

ol {
  padding-left: 0.5rem;
  margin: 1rem;
}

p {
  margin-bottom: 0.5rem;
}

select {
  height: 2rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  border: 0.15rem solid var(--border-color);
  background-color: var(--bg-prim-color);
  border-radius: 0.5rem;
  color: var(--font-prim-color);
  font-size: 1.1rem;
}

*::selection {
  background-color: var(--font-select-color);
}

.blinking {
  animation-duration: 500ms;
  animation-iteration-count: infinite;
  animation-direction: alternate;
  background-color: var(--bg-prim-color);
  color: var(--font-prim-color);
  animation-name: blinky;
}

@keyframes blinky {
  to {
    background-color: var(--bg-negative-color);
    color: var(--font-inverse-color);
  }
}

