/*Theme*/
.w3-theme {
    color:#fff !important;
     background-color:#009688 !important
}
 
.w3-theme-d2 {
    color:#fff !important;
     background-color:#00766a !important
} 
html{
    box-sizing:border-box
}
*,*:before,*:after{
    box-sizing:inherit
}

/* Extract from normalize.css by Nicolas Gallagher and Jonathan Neal git.io/normalize */
html{
    -ms-text-size-adjust:100%;
    -webkit-text-size-adjust:100%
}
body{
    margin:0
}
 article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{
    display:block
}


a{
    background-color:transparent;
    -webkit-text-decoration-skip:objects;
    color:inherit;
}

img{
    border-style:none;
    vertical-align:middle;
}

button,input,select,textarea{
    font:inherit;
    margin:0
}

button,input{
    overflow:visible
}
button,select{
    text-transform:none
}
 button,html [type=button],
 [type=reset],[type=submit]{
    -webkit-appearance:button
}

/* End extract */
html,body{
    font-family:Verdana,sans-serif;
    font-size:15px;
}
html{
    overflow-x:hidden
}

/*Not used*/
    h1{
        font-size:36px
    }
    h2{
        font-size:30px
    }
    h3{
        font-size:24px
    }
/*Not used*/

h4{
    font-size:20px
}

h1,h2,h3,h4,h5,h6{
    font-family:"Segoe UI",Arial,sans-serif;
    font-weight:400;
    margin:10px 0
}
.w3-btn,.w3-button{
    border:none;
    display:inline-block;
    padding:8px 16px;
    vertical-align:middle;
    overflow:hidden;
    text-decoration:none;
    color:inherit;
    background-color:inherit;
    text-align:center;
    cursor:pointer;
    white-space:nowrap
}

.w3-btn,.w3-button{
    -webkit-touch-callout:none;
    -webkit-user-select:none;
    -khtml-user-select:none;
    -moz-user-select:none;
    -ms-user-select:none;
    user-select:none
}

.w3-sidebar{
    height:100%;
    width:200px;
    background-color:#fff;
    position:fixed!important;
    z-index:1;
    overflow:auto
}

.w3-bar{
    width:100%;
    overflow:hidden
}

.w3-bar .w3-bar-item{
    padding:5px 8px;
    float:left;
    width:auto;
    border:none;
    display:block;
    outline:0
}

.w3-bar .w3-button{
    white-space:normal
}

.w3-bar-block .w3-bar-item{
    width:100%;
    display:block;
    padding:8px 16px;
    text-align:left;
    border:none;
    outline:none;
    white-space:normal;
    float:none;
    outline:0
}

.w3-container:after,.w3-container:before,.w3-panel:after,.w3-panel:before,.w3-row:after,.w3-row:before,.w3-row-padding:after,.w3-row-padding:before, .w3-cell-row:before,.w3-cell-row:after,.w3-clear:after,.w3-clear:before,.w3-bar:before,.w3-bar:after{
    content:"";
    display:table;
    clear:both
}

.w3-top,.w3-bottom{
    position:fixed;
    width:100%;
    z-index:1
}
.w3-top{
    top:0
}

.w3-container,.w3-panel{
    padding:0.01em 16px
}

.w3-card,.w3-card-2{
    box-shadow:0 2px 5px 0 rgba(0,0,0,0.16),0 2px 10px 0 rgba(0,0,0,0.12)
}

.w3-center{
    text-align:center!important
}

.w3-padding{
    padding:12px 0px!important
}

.w3-button:hover{
    color:#000!important;
    background-color:#ccc!important
}


 .w3-transparent,.w3-hover-none:hover{
    background-color:transparent!important
}
 .w3-hover-none:hover{
    box-shadow:none!important
}

.w3-hover-theme:hover {
    color:#fff !important;
     background-color:#009688 !important;
} 


/*Controls header*/
.w3-xxxlarge{
    font-size:30px!important
}

#content{
  font-family:Verdana,sans-serif;
  font-size:12px;
  line-height:1.1;
  padding: 60px 10px 10px 10px;
}

#mySidebar{
padding-top: 50px;
}

table, td, th {
  border: 1px solid #ddd;
  text-align: left;
  line-height:18px;
  vertical-align: top;
}

table {
  border-collapse: collapse;
  width: 100%;
}
  
th, td {
  padding: 4px;
  word-wrap: break-word;
}

input:disabled
{
background: white;
color:#000000;
-webkit-text-fill-color: #000000;
-webkit-opacity: 1; 

}

.button {
    border-radius: 3px;
    border: 1px solid transparent;
    line-height: 1.1em;
    text-align: center;
    font-weight: 500;
    padding: 8px 10px 9px;
    display: inline-block;
    cursor: pointer;
}

#Checkboxes label {
    width: 150px;
}

/*Used for hiding bullets*/
ul {
    list-style:none;
    margin-left:0;
    padding-left:0;
    margin-top:2px
}

/*Box Labels*/

.entry label{
    vertical-align: top;
    font-weight: bold;
    padding-top:5px;
    display: inline-block;
    width: 100%;
}

input:read-only
{

}

.entry input {
    /*background: #1A1A1A;*/
    border-radius: 5px;
    border: 1px solid #bbb;
    padding: 8px;
    width:  100%; 
    padding-left: 1.5em;

    outline: none;
    box-shadow: 0 4px 6px -5px hsl(0, 0%, 40%), inset 0px 4px 6px -5px hsl(0, 0%, 2%)
}
 

/* The container */
.btn {
    display: block;
    position: relative;
    padding-left: 35px;
    margin-bottom: 12px;
    cursor: pointer;

    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

/* Hide the browser's default checkbox */
.btn input {
    position: fixed;
    opacity: 0;
    cursor: pointer;
}

/* Create a custom checkbox */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 25px;
    width: 25px;
    background-color: #eee;
}

/* On mouse-over, add a grey background color */
.btn:hover input ~ .checkmark {
    background-color: #ccc;
}

/* When the checkbox is checked, add a blue background */
.btn input:checked ~ .checkmark {
    background-color: #2196F3;
}

/* Create the checkmark/indicator (hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none;
}

/* Show the checkmark when checked */
.btn input:checked ~ .checkmark:after {
    display: block;
}

/* Style the checkmark/indicator */
.btn .checkmark:after {
    left: 9px;
    top: 5px;
    width: 5px;
    height: 10px;
    border: solid white;
    border-width: 0 3px 3px 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

#Submit{
    Top:10px;
    Right:10px;
    position: fixed;
    float: right;
    background:#17AADF;
    color:#fff;
    border:none;
    border-radius:3px;
    padding:10px;
    cursor:pointer;
}

.submit{
    background:#17AADF;
    color:#fff;
    border:none;
    border-radius:3px;
    padding:14px;
    cursor:pointer;
}

/*Events Matrix*/
.imgborders img {
    border-width: 1px;
    border-style: solid;
    border-color: #17AADF;
}

.nowrap{
    white-space: nowrap !important;
    min-width: 10px;
}

.colour-Y{
    background:greenyellow;
}

.colour-N{
    background:red;
}

.colour-U{
    background:yellow;
}

.colour-I{
    background:orange;
}

.tcentre{
    text-align: center !important;
}
 
/*Events Matrix*/

/* Matrix-specific styles for eventmatrix.php */
.matrix-table {
  border-collapse: collapse;
  width: 100%;
  table-layout: auto; /* allow columns to size to content and expand beyond min-width */
  font-family: inherit;
}

/* Ensure the matrix container can scroll horizontally if content exceeds viewport */
.matrix {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.matrix-table th, .matrix-table td {
  border: 1px solid #ccc;
  padding: 6px;
  vertical-align: middle;
  word-break: break-word;
  overflow-wrap: anywhere;
}

/* Stronger divider between section groups */
.matrix-table tbody.section-group {
  border-top: 4px solid #333;
}
.matrix-table tbody.section-group:first-of-type {
  border-top: 2px solid #333;
}

/* make event header cells rotate and fit inside fixed table layout */
.matrix .vert > th:nth-child(1n+3){
  position: relative;
  height: 140px; /* slightly smaller to work with fixed layout */
  padding: 4px;
}
.matrix .vert > th > div > div {
  position: absolute;
  bottom: -130px;
  width: 140px;
  line-height: 18px;
  transform: rotate(-90deg);
  transform-origin: top left;
}

/* keep the section cell compact */
.matrix-table td.nowrap{ white-space: nowrap; }

/* ensure event cells with colours fill available height */
.matrix-table td.tcentre { text-align: center; }

/* Column width helpers for Event Matrix: use minimum sizes and allow expansion */
.matrix-table th.section-col { min-width: 60px; width: auto; }
.matrix-table th.part-col { min-width: 60px; width: auto; }
.matrix-table th.name-col { min-width: 60px; width: auto; }
.matrix-table th.event-col { min-width: 40px; width: auto; overflow: visible; }

/* Slight tweak for rotated header content to remain centered within event-col */
.matrix-table th.event-col > div > div {
  width: 140px; /* width of rotated header content */
  bottom: -130px;
}
  
@media all and (min-width: 451px) {
    .matrix{
        font-size: 12px !important;
      }
    } 
    @media all and (max-width: 450px) and (min-width: 50px) {
        .matrix{
        font-size: 3vw !important;
      }
    }

.matrix table, .matrix td, .matrix th {
    border-spacing: 0;
    text-align: left
  }
  
 .matrix .vert > th:nth-child(1n+3){
    position: relative;
    height: 150px;
    min-width: 40px;
    padding: 4px;
  }

  .matrix .vert > th  {
    overflow: hidden;
  }
  
  .matrix .vert > th > div > div {
    height: 100%; 
    line-height: 18px;
    width: 150px;
    position: absolute;
    bottom: -145px;
    /*border: 1px solid blue; */
    transform: rotate(-90deg);
    transform-origin: top left; 
  } 

  .matrix .tbottom{
      vertical-align: bottom !important;
      text-align: left !important;
  }

  .caldiv img{
    width:100%;
    max-width: 400px;
  }

/* --- Add responsive / responses layout styles --- */

#responses-table-container {
  margin-bottom: 8px;
  display: block; /* ensure visible by default */
}

.responses-table {
  width: 100%;
  border-collapse: collapse;
}

.responses-old-table {
  width: 100%;
  border-collapse: collapse;
}

.responses-th {
  text-align: left;
  border-bottom: 1px solid #ccc;
  padding: 6px;
}

.responses-th-center {
  text-align: center;
}

.responses-td {
  vertical-align: top;
  border-bottom: 1px solid #eee;
  padding: 6px;
}

.responses-td-center {
  vertical-align: top;
  border-bottom: 1px solid #eee;
  padding: 6px;
  text-align: center;
}

/* total zero styling */
.responses-total-zero {
  vertical-align: top;
  border-bottom: 1px solid #eee;
  padding: 6px;
  text-align: center;
  color: red;
}

/* old (original) block hidden by default */
.responses-old-container {
  display: none;
}

/* toggle button wrapper & button */
.responses-toggle-wrap {
  margin: 8px 0;
  display: flex;
  gap: 8px;
  align-items: center;
}

/* make action buttons blue with white text */
.responses-toggle-btn {
  padding: 6px 10px;
  border-radius: 3px;
  border: 1px solid rgba(0,0,0,0.1);
  background: #17AADF;
  color: #fff;
  cursor: pointer;
  font-weight: 600;
}

/* keep image sizing consistent in old table */
.responses-old-table img,
.responses-old-img {
  height: 20px;
  vertical-align: middle;
}

/* resultcount */
#resultcount {
  display: block;
  margin-bottom: 6px;
}

/* Align Date / StartTime / EndTime / Paid controls (moved from inline) */
#controls input[type="date"],
#controls input[type="time"],
#controls input[name="Paid"] {
  width: 180px;
  max-width: 100%;
  box-sizing: border-box;
}

/* Replace tbody border with row-level top borders for better Edge support */

.matrix-table tbody.section-group > tr:first-child > td,
.matrix-table tbody.section-group > tr:first-child > th {
  border-top: 4px solid #333;
}
.matrix-table tbody.section-group:first-of-type > tr:first-child > td,
.matrix-table tbody.section-group:first-of-type > tr:first-child > th {
  border-top: 2px solid #333;
}

/* Force the section header and cells to not wrap so the column expands instead */
.matrix-table th.section-col, .matrix-table td.section-cell {
  white-space: nowrap;
}