:root {
  --color-black: #5D5D5D;
  --color-lightgrey: #F2F5F8;
  --color-green: #71BF5A;
  --color-lightgreen: #95CF84;
  --color-red: #D84343;
  --color-yellow: #ffdd00;

  --color-blue: #334164;

  --font-size-small: 13px;
  --font-size-medium: 15px;
  --font-size-large: 19px;
}

body{
	font-family: 'Rubik', sans-serif;
	font-size: var(--font-size-large);
	font-weight: 400;
	line-height: 1.8;
	color: var(--color-black);
}
h1,.h1, h2, h3, h4{
	font-family: inherit;
  font-weight: 500;
  font-size: var(--font-size-medium);
  margin-bottom: 0;
  text-transform: uppercase;
}
article h1{
  font-size: var(--font-size-large);
  font-weight: 700;
  text-transform: none;
}

underline{text-decoration: underline;}

img{max-width: 100%;}

a, a:hover{color: inherit; text-decoration: none; transition: all 0.2s ease 0s;}
a, a:hover, a:active, a:focus, button:focus, button:active{color: inherit; text-decoration: none; outline: 0 !important; box-shadow:none !important; outline: 0 !important;}

.font-weight-medium{font-weight: 500 !important;}
strong, .font-weight-bold{font-weight: 700 !important;}

.bg-lightgrey{background-color: var(--color-lightgrey);}
.bg-blue{background-color: var(--color-blue);}

.text-black, .has-black-color{color: var(--color-black);}
.text-green, .has-green-color{color: var(--color-green);}
.text-red, .has-red-color{color: var(--color-red);}
.text-yellow, .has-yellow-color{color: var(--color-yellow);}


.btn{
  font-weight: 500;
  padding: 1.2rem 1.9rem;
  border: 0 !important;
  font-size: var(--font-size-medium);
  text-transform: uppercase;
  letter-spacing: .03rem;
  border-radius: 0;
  line-height: 1.4;
}
.btn > .newline{
  font-size: var(--font-size-small);
  display: block;
  line-height: 1;
}
.btn > i{
  opacity: .6;
  font-size: 1.3em;
}

.btn.btn-green, .btn.btn-green:active, .btn.btn-green:focus{
	color: #fff !important;
	background-color: var(--color-green);
}
.btn.btn-green:hover{
	background-color: var(--color-lightgreen);
}

.alert{
  font-size: var(--font-size-small);
  border: 0;
  border-left: 6px solid var(--color-black);
  background: #eef9e9;
  color: var( --color-black);
}
.alert.alert-success{
  border-left-color: var(--color-green);
  background: #eef9e9;
}
.alert.alert-danger{
  border-left-color: var(--color-red);
  background: #f9e9e9;
}

.font-size-sm, .has-kwb-small-font-size{font-size: var(--font-size-small);}
.font-size-md, .has-kwb-medium-font-size{font-size: var(--font-size-medium);}
.font-size-large, .has-kwb-large-font-size{font-size: var(--font-size-large);}

.spacer.spacer-1{height: 4rem; display: block;}
.spacer.spacer-2{height: 8rem; display: block;}
.spacer.spacer-3{height: 12rem; display: block;}

.box-shadow{
  box-shadow: 0 0 30px #0000000f;
}

/*------------------------------------*\
	Navbar
\*------------------------------------*/
.navbar-brand{
  margin-bottom: 0;
  padding-top: 0.7rem;
  padding-bottom: 0.7rem;
}
.navbar-button, .navbar-toggler{
  padding: 0.6rem 0.75rem;
  font-size: 1.4rem;
  line-height: 1;
  background-color: transparent;
  border: 1px solid transparent;
  border-radius: 0.25rem;
  transition: box-shadow .15s ease-in-out;
  color: var(--color-black);
}

#Nav .navbar-link, #Nav .nav-link{
  padding: 0.3rem 1rem;
  color: var(--color-black);
  font-size: var(--font-size-medium);
}


/*------------------------------------*\
	Offcanvas
\*------------------------------------*/
.offcanvas-end{
  width: 100%;
  border-left: 0;
}
.offcanvas-header{
  padding: .5rem 0;
  padding-right: var(--bs-gutter-x,.75rem);
  padding-left: var(--bs-gutter-x,.75rem);
}



/*------------------------------------*\
	Forms
\*------------------------------------*/
.form-control, .form-select{
  font-size: var(--font-size-large);
  color: var(--color-black) !important;
  padding: .5rem 1rem .5rem;
  line-height: 2;
  border: 0;
  border-radius: 0;
  background: var(--color-lightgrey);
}
.form-control:focus, .form-select:focus{
  border: 0;
  background: var(--color-lightgrey);
}
.form-control:disabled{
  background: var(--color-lightgrey);
}

input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active,
input:-webkit-autofill:first-line{
  -webkit-box-shadow: 0 0 0 1000px var(--color-lightgrey) inset !important;
  -webkit-text-fill-color: var(--color-black) !important;
  font-family: 'Rubik', sans-serif !important;
	font-size: var(--font-size-large) !important;
}

.form-label, .form-check-label{
  font-size: var(--font-size-medium);
  /* font-weight: 500; */
  margin-bottom: 0;
}

.form-check-input{
  margin-top: 0;
  background-color: var(--color-lightgrey);
  border-color: var(--color-lightgrey);
  border-radius: 0 !important;
  width: 2em;
  height: 2em;
  margin-right: 0.75rem;
}
.form-check-input:checked {
  background-color: var(--color-green);
  border-color: var(--color-green);
}
.form-switch .form-check-input{
  border-radius: 2em !important;
  width: 3em;
}


.form-floating > .form-control, .form-floating > .form-select{
  padding: 1.6rem 1rem 0.35rem !important;
  line-height: 2;
  height: auto;
}
.form-floating > label{
  position: absolute;
  padding: 0 1rem !important;
  top: 0.65rem;
  margin: 0;
  transform: none !important;
  font-size: var(--font-size-small);
  opacity: .8 !important;
  height: auto;
  border: 0;
}

.form-control::-webkit-input-placeholder {color: var(--color-blue); opacity: .6;}
.form-control:-ms-input-placeholder {color: var(--color-blue); opacity: .6;}
.form-control::-moz-placeholder {color: var(--color-blue); opacity: .6;}
.form-control::-ms-input-placeholder {color: var(--color-blue); opacity: .6;}
.form-control::placeholder {color: var(--color-blue); opacity: .6;}

.input-group-sm>.form-control{
  padding: 0.3rem 0.7rem;
  font-size: .95rem;
}
.input-group-text{
  border: 0;
  border-radius: 0;
  background: var(--color-lightgrey);
  color: var(--color-black) !important;
  padding-left: 0;
}

.input-group.inactive{opacity: .4 !important;}

/*------------------------------------*\
	Tables
\*------------------------------------*/
.table{
  color: inherit;
}

.table-striped>tbody>tr.report:nth-of-type(odd)>*{
  --bs-table-accent-bg: var(--color-lightgrey);
  color: inherit;
}

/* .table>tbody>tr.odd>*{
  --bs-table-accent-bg: var(--color-lightgrey);
  color: inherit;
} */

.table:not(.table-striped)>tbody>tr.odd>*{
  --bs-table-accent-bg: var(--color-lightgrey);
  color: inherit;
}

.table>tbody>tr.report{border-bottom: 1px solid var(--color-lightgrey);}
.table>tbody>tr.report.odd, .table>tbody>tr.day.odd{border-bottom-color: #e3e9ef;}


.table th, .table td{
  padding: .7rem .7rem;
  border-bottom: 0;
  line-height: 1.25;
}
.table tr > th:first-of-type{
  padding-left: 1.5rem;
}
.table tr > td:last-of-type{
  padding-right: 1.5rem;
}
.table tr:last-of-type > *{border-bottom: 1px solid var(--color-lightgrey);}

.table th{
  font-weight: 400;
  font-size: inherit;
  position: relative;
  /* padding-top: 1.8rem; */
  line-height: 1;
  display: flex;
  flex-direction: column;
  min-height: 65px;
  justify-content: center;
}

.table td.time > .hours{
  font-weight: 500;
  font-size: var(--font-size-small);
  opacity: .8 !important;
}

.table td.remove{
  padding-left: 0rem;
  padding-right: 0 !important;
  width: 40px;
  overflow-x: hidden;
}
.table td.remove > a{
  padding: 0 1rem 0 0.5rem;
  display: block;
  transform: translateX(100%);
}
.table td.remove.active > a{
  transform: translateX(0);
  position: relative;
  z-index: 5;
}

.table-striped{}

.table .table-label{
  font-size: var(--font-size-small);
  font-weight: 500;
  /* position: absolute;
  top: 0.8rem; */
  margin: 0;
  transform: none !important;
  font-size: var(--font-size-small);
  opacity: .8 !important;
  border: 0;
  line-height: 1.3;
  margin-bottom: 2px;
}

table tr.week > td{
  /* --bs-table-accent-bg: #d2e4f5 !important; */
  --bs-table-accent-bg: var(--color-blue) !important;
  color: var(--color-yellow) !important;
  /* font-weight: 500; */
  /* font-size: var(--font-size-small); */
}
table tr.day{
  font-weight: 500;
  font-size: var(--font-size-small);
  text-transform: capitalize;
      color: var(--bs-gray-500);
}


#rep_table tr{border-left: 4px solid white;}
#rep_table tr:nth-of-type(odd){border-left: 4px solid var(--color-lightgrey);}

#rep_table tr{
  transition: border-color .5s ease;
}
#rep_table tr.notice{
  border-left-color: var(--color-green);
}



/*------------------------------------*\
	Header & Nav
\*------------------------------------*/


/*------------------------------------*\
	Wordpress blocks
\*------------------------------------*/


/*------------------------------------*\
	Pages
\*------------------------------------*/


/*------------------------------------*\
	Footer
\*------------------------------------*/



