/* Paul Thornton (P.C.Thornton@exeter.ac.uk) */
/* Created:         15/05/2026 */
/* Last Modified:   18/05/2026 (Paul Thornton)*/

:root {
  --x: 0;
  --y: 0;
}

html, body {
  height: 100%;
  margin: 0px;
  background-color: hsl(0, 0%, 100%);
  font-family: Arial;
  font-size: 14px;
  color: hsl(240 100% 25%);
}

.container {
  position: relative;
  height: 100%;
  margin: 0px;
  display: flex;
  flex-direction: column;
}

header {
  margin-top: 0px;
  background-color: hsl(180, 100%, 12%);
  height: 100px;
  display: grid;
  grid-template-columns: auto max-content 223px;
}

.titlebar {
  height: 90px;
  margin-top: 0px;
  background-color: hsl(180, 100%, 12%);
  padding: .3rem .7rem;
  font-weight: bold;
  color: hsl(0, 0%, 100%);
}

.titlebar .title1 {
  font-size: 2rem;
  font-weight: bold;
  cursor: pointer;
}

.titlebar .title2 {
  font-size: 1.6rem;
  font-weight: bold;
}

.titlebar .title3 {
  font-size: 1.4rem;
  font-weight: bold;
  font-style: italic;
}

.titlebar .title3note {
  font-size: 1.2rem;
  font-weight: bold;
  font-style: italic;
}

.hometable {
  float: right;
  width: fit-content;
  height: 28px;
  border: 1px solid hsl(0, 0%, 100%);
  padding: .3rem;
  background-color: hsl(180, 100%, 12%);
  color: hsl(0, 0%, 100%);
  font-size: .8rem;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}

.hometable:hover, .hometable:focus{
  background-color: hsl(180, 38%, 31%);
}

.lastmodified {
  float: right;
  margin-top: 5px;
  margin-right: 10px;
  font-size: .8rem;
  font-weight: bold;
  font-style: italic;
}

.uoelogo {
  position: fixed;
  top: 0;
  right: 0;
  cursor: pointer;
}

.content {
  flex: 1;
  overflow: auto;
  padding: 0 .7rem;
}

footer {
  margin-top: 1rem;
  margin-bottom: .5rem;
  display: flex;
  border-top: 1px solid hsl(240, 100%, 25%);
  border-bottom: 1px solid hsl(240, 100%, 25%);
  padding: .5rem 1rem;
  color: hsl(240, 100%, 25%);
  font-size: .8rem;
  font-style: italic;
}

.footerleft {
  width: 30vw;
  text-align: left;
}

.footerright {
  width: 70vw;
  text-align: right;
}

footer a:link {
  background: none;
  color: hsl(240, 100%, 25%);
  text-decoration: none;
}

footer a:hover, footer a:focus {
  background: none;
  color: hsl(0, 100%, 50%);
}

#unicardlogo {
  float: left;
  width: 123px;
  height: 75px;
  margin: 2px 10px 0px 0px;
}

#processing {
  position: absolute;
  visibility: hidden;
  z-index: 10;
  width: 600px;
  border: .4rem solid hsl(0, 100%, 50%);
  padding: 1rem;
  background-color: hsl(0, 0%, 100%);
  color: hsl(0, 100%, 50%);
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
 }

#AJAXsearchDIV {
  position: absolute;
  visibility: hidden;
  z-index: 9;
}

#AJAXsearchframe {
  width: 760px;
  height: 400px;
  border: .2rem solid hsl(120, 100%, 31%);
  background-color: hsl(120, 100%, 95%);
}

#confirmpopup {
  position: fixed;
  visibility: hidden;
  z-index: 8;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: .5rem solid hsl(120, 100%, 31%);
  border-radius: 1em;
  background-color: hsl(120, 100%, 95%);
  width: 40vw;
  padding: 1rem;
}

.confirmprompt {
  font-size: 1.2rem;
  text-align: center;
}

.confirmbuttons {
  display: flex;
  margin: auto;
  width: 50%;
  justify-content: space-between;
}

a:link {
  color: hsl(240, 100%, 50%);
  text-decoration: none;
  padding: 1px 4px;
}

a:hover {
  color: hsl(240, 100%, 25%);
  text-decoration: none;
  padding: 1px 4px;
  background-color: hsl(0, 100%, 94%);
}

a:visited {
  color: hsl(240, 100%, 50%);
  text-decoration: none;
  padding: 1px 4px;
}

a:visited:hover {
  color: hsl(240, 100%, 25%);
  text-decoration: none;
  padding: 1px 4px;
  background-color: hsl(0, 100%, 94%);
}

a:active {
  color: hsl(0, 100%, 50%);
  text-decoration: none;
  padding: 1px 4px;
}

.animatedbutton {
  border: .15rem solid hsl(240, 100%, 50%);
  border-radius: .8rem;
  padding: .3rem .5rem;
  font-size: 1rem;
  font-weight: bold;
  color: hsl(240, 100%, 50%);
  background: linear-gradient(to right, hsl(240, 100%, 50%) 50%, hsl(0, 0%, 100%) 50%);
  background-size: 200% 100%;
  background-position: right bottom;
  transition: all .25s ease-out;
}

.animatedbutton:hover {
  background-position: left bottom;
  color: hsl(0, 0%, 100%);
  cursor: pointer;
}

.animatedbuttonselected {
  border: .15rem solid hsl(0, 100%, 50%);
  border-radius: .8rem;
  padding: .3rem .5rem;
  font-size: 1rem;
  font-weight: bold;
  color: hsl(0, 0%, 100%);
  background: linear-gradient(to right, hsl(0, 0%, 100%) 50%, hsl(0, 100%, 50%) 50%);
  background-size: 200% 100%;
  background-position: right bottom;
  transition: all .25s ease-out;
}

.animatedbuttonselected:hover {
  background-position: left bottom;
  color: hsl(0, 100%, 50%);
}

.animatedbuttonsimple {
  border: .15em solid hsl(240, 100%, 50%);
  border-radius: .8rem;
  background-color: hsl(0, 0%, 100%);
  padding: .3rem .5rem;
  font-size: 1rem;
  font-weight: bold;
  color: hsl(240, 100%, 50%);
}

.animatedbuttonsimple:hover {
  background-color: hsl(240, 100%, 50%);
  color: hsl(0, 0%, 100%);
  cursor: pointer;
}

.animatedbuttonsquare {
  border: .13em solid hsl(240, 100%, 25%);
  background-color: hsl(0, 0%, 100%);
  padding: .3rem .5rem;
  font-size: 1.3rem;
  color: hsl(240, 100%, 25%);
  background: linear-gradient(to bottom, hsl(0, 0%, 100%) 50%, hsl(240, 100%, 25%) 50%);
  background-size: 100% 200%;
  background-position: left top;
  transition: all .2s ease-out;
}

.animatedbuttonsquare:hover {
  background-position: left bottom;
/*  background-color: hsl(240, 100%, 25%);*/
  color: hsl(0, 0%, 100%);
  cursor: pointer;
}

.error {
  background-color: hsl(0, 100%, 94%);
  background-image: url(/commonfiles/images/error.gif);
  background-position: 5px 5px;
  background-repeat: no-repeat;
  border: 1px solid hsl(0, 100%, 50%);
  padding: 15px;
  padding-left: 50px;
  color: hsl(0, 100%, 41%);
  font-weight: bold;
}

.warning {
  background-color: hsl(240, 100%, 94%);
  background-image: url(/commonfiles/images/warning.gif);
  background-position: 5px 5px;
  background-repeat: no-repeat;
  border: 1px solid hsl(240, 100%, 41%);
  padding: 15px;
  padding-left: 50px;
  color: hsl(240, 100%, 31%);
  font-weight: bold;
}

.success {
  background-color: hsl(120, 100%, 94%);
  background-image: url(/commonfiles/images/success.png);
  background-position: 5px 5px;
  background-repeat: no-repeat;
  border: 1px solid hsl(120, 100%, 41%);
  padding: 15px;
  padding-left: 50px;
  color: hsl(120, 100%, 31%);
  font-weight: bold;
}

.development {
  margin: 0px;
  background-color: hsl(0, 100%, 94%);
  border: 3px solid hsl(0, 100%, 50%);
  padding: 0px;
  color: hsl(0, 100%, 50%);
  font-size: 3rem;
  font-weight: bold;
  text-align: center;
}

.development img {
  padding: 3px 10px;
}

.pagelist {
  border-collapse: collapse;
  border: none;
}

.pagelist td {
  border: none;
  width: 40px;
  text-align: center;
  vertical-align: middle;
  font-size: 1.2rem;
}

#firstlast {
  padding: 2px 4px;
  font-size: 170%;
  color: hsl(240, 100%, 50%);
  text-decoration: none;
}

#prevnext {
  padding: 2px 4px;
  font-size: 140%;
  color: hsl(240, 100%, 50%);
  text-decoration: none;
}

#gotopage {
  padding: 2px 4px;
  font-size: 120%;
  color: hsl(240, 100%, 50%);
  text-decoration: none;
}

#firstlast:visited, #prevnext:visited, #gotopage:visited {
  color: hsl(240, 100%, 50%);
}

#firstlast:hover, #prevnext:hover, #gotopage:hover {
  background-color: hsl(0, 100%, 91%);
}

#currentpage {
  font-size: 200%;
  color: hsl(0, 100%, 50%);
}

.datatable {
  border-collapse: collapse;
  border: none;
}

.datatable th {
  font-size: 1rem;
  border: 1px solid hsl(240, 100%, 25%);
  padding: 3px;
  font-weight: bold;
  text-align: center;
}

.datatable td {
  font-size: 1rem;
  border: 1px solid hsl(240, 100%, 25%);
  padding: 3px;
  text-align: left;
}

#datatableheaderlarge {
  font-size: 1.2rem;
  background-color: hsl(240, 100%, 25%);
  color: hsl(0, 0%, 100%);
}

#datatableheader {
  background-color: hsl(240, 100%, 25%);
  color: hsl(0, 0%, 100%);
}

#datatableseparator {
  background-color: hsl(240, 100%, 25%);
  padding: 1px;
}

#datatableinfo {
  background-color: hsl(0, 100%, 94%);
  color: hsl(240, 100%, 25%);
  font-style:italic;
}

.datatablenoborder {
  border-collapse: collapse;
  border: none;
}

.datatablenoborder th {
  font-size: 1rem;
  padding: 2px;
  font-weight: bold;
  text-align: center;
}

.datatablenoborder td {
  font-size: 1rem;
  padding: 2px;
  text-align: left;
}

#formbutton {
  background-color: hsl(240, 100%, 94%);
  border: 2px solid hsl(240, 100%, 50%);
  padding: 2px;
  font-size: .7rem;
  font-weight: bold;
  text-decoration: none;
  color: hsl(240, 100%, 50%);
}

#formbutton:hover {
  background-color: hsl(0, 100%, 94%);
  border: 2px solid hsl(0, 100%, 50%);
  color: hsl(0, 100%, 50%);
}

.blink_me {
  animation: blinker 0.6s cubic-bezier(1, 0, 0, 1) infinite alternate;
}
@keyframes blinker { to { opacity: 0; } }

.trentabsenceoverviewdiv {
  float: right;
  clear: right;
  margin-top: 10px;
  border: none;
  right: 0px;
  height: 460px;
}

.impersonatecontroldiv {
  position: absolute;
  bottom: 40px;
  right: 23px;
  z-index: 10;
  border: 1px solid hsl(240, 100%, 25%);
  padding: 5px;
  background-color: hsl(240, 100%, 94%);
}

#impersonatedetails {
  display: none;
}

#impersonatedetailsshowhide {
  margin-left:50px;
  vertical-align: middle;
}

#impersonatedetailsshowhide:hover {
  background-color: hsl(240, 100%, 92%);
  cursor: pointer;
}

#pageaccessdatadetails {
  display: none;
}

#pageaccessdatashowhide {
  float: right;
  margin-left:10px;
  vertical-align: middle;
}

#pageaccessdatashowhide:hover {
  background-color: hsl(240, 100%, 92%);
  cursor: pointer;
}

.pageaccessdatadiv {
  position: fixed;
  top: 65px;
  right: 230px;
  z-index: 10;
  border:1px solid hsl(0,100%,35%);
  padding: 5px;
  background-color: hsl(0, 100%, 95%);
  color: hsl(0, 100%, 35%);
}

.pageaccessdatatable {
  border-collapse: collapse;
  border: none;
  background-color: hsl(0, 0%, 100%);
}

.pageaccessdatatable th {
  font-size: 1rem;
  border: 1px solid hsl(0, 100%, 35%);
  padding: 2px;
  font-weight: bold;
  text-align: left;
  color: hsl(0, 100%, 35%);
}

.pageaccessdatatable td {
  font-size: 1rem;
  border: 1px solid hsl(0, 100%, 35%);
  padding: 2px;
  text-align: left;
  color: hsl(0, 100%, 35%);
}

#pageaccessdatatableheader {
  background-color: hsl(0, 100%, 35%);
  text-align: center;
  color: hsl(0, 0%, 100%);
}

.serverstatsdiv {
  position: absolute;
  bottom: 40px;
  right: 460px;
  z-index: 10;
  border: none;
  padding: 0px;
  background-color: none;
}

#selectdatetimeicon {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  padding: 3px;
  width: 30px;
  height: 30px;
}

#selectdatetimeicon:hover {
  background-color: hsl(209, 100%, 90%);
  cursor: pointer;
}

#selectdatetimeinfo {
  visibility: hidden;
  position: absolute;
  top: 0px;
  left: 40px;
  width: 150px;
  z-index: 1;
  border: 2px solid hsl(0, 0%, 0%);
  border-radius: 6px;
  background-color: hsl(209, 100%, 90%);
  padding: 5px 7px;
  color: hsl(0, 0%, 0%);
  text-align: left;
  overflow: hidden;
}

#selectdatetimeicon:hover #selectdatetimeinfo {
  visibility: visible;
}
