:root {
  --page-grey: hsl(216, 17%, 89%);
  --noedit-grey: hsl(216, 17%, 70%);
  --highlight-blue: hsla(190, 91%, 65%);
  --pool-blue: hsl(190, 91%, 85%);
  --highlight-green: hsla(110, 91%, 65%);
  --booked-green: hsl(110, 91%, 85%);
  --background-green: hsl(110, 17%, 89%);
  --recent-red: hsl(0, 91%, 85%);
  --pastperform-pink: hsl(55, 91%, 85%);
  --never-white: #DDD;
  --heading-font: Verdana, Arial, sans-serif;
  --body-font: Georgia, Times, serif;
  --hover-blue: blue;
  --focus-blue: cyan;
  --dull-red: hsl(30, 69%, 47%);
  --bright-red: hsl(12, 91%, 49%);
  --brighter-red: hsl(12, 69%, 47%);
}
/* W3.CSS 4.15 December 2020 by Jan Egil and Borge Refsnes */
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{display:block}summary{display:list-item}
audio,canvas,progress,video{display:inline-block}progress{vertical-align:baseline}
audio:not([controls]){display:none;height:0}[hidden],template{display:none}
a{background-color:transparent}a:active,a:hover{outline-width:0}
abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}
b,strong{font-weight:bolder}dfn{font-style:italic}mark{background:#ff0;color:#000}
small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sub{bottom:-0.25em}sup{top:-0.5em}figure{margin:1em 40px}img{border-style:none}
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}hr{box-sizing:content-box;height:0;overflow:visible}
button,input,select,textarea,optgroup{font:inherit;margin:0}optgroup{font-weight:bold}
button,input{overflow:visible}button,select{text-transform:none}
/*button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button} */
button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{border-style:none;padding:0}
button:-moz-focusring,[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring{outline:1px dotted ButtonText}
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}
legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}
[type=checkbox],[type=radio]{padding:0}
[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}
/* [type=search]{-webkit-appearance:textfield;outline-offset:-2px} */
[type=search]::-webkit-search-decoration{-webkit-appearance:none}
::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}
/* End extract */
html,body{font-family:Verdana,sans-serif;font-size:1rem;line-height:1}html{overflow-x:hidden}
/*h1{font-size:36px} */
h2{font-size:30px}h3{font-size:24px}h4{font-size:20px}h5{font-size:18px}h6{font-size:16px}
.w3-serif{font-family:serif}.w3-sans-serif{font-family:sans-serif}.w3-cursive{font-family:cursive}.w3-monospace{font-family:monospace}
h1,h2,h3,h4,h5,h6{font-family:"Segoe UI",Arial,sans-serif;font-weight:400;margin:10px 0}.w3-wide{letter-spacing:4px}
hr{border:0;border-top:1px solid #eee;margin:20px 0}
.w3-image{max-width:100%;height:auto}img{vertical-align:middle}a{color:inherit}
.w3-table,.w3-table-all{border-collapse:collapse;border-spacing:0;width:100%;display:table}.w3-table-all{border:1px solid #ccc}
.w3-bordered tr,.w3-table-all tr{border-bottom:1px solid #ddd}.w3-striped tbody tr:nth-child(even){background-color:#f1f1f1}
.w3-table-all tr:nth-child(odd){background-color:#fff}.w3-table-all tr:nth-child(even){background-color:#f1f1f1}
.w3-hoverable tbody tr:hover,.w3-ul.w3-hoverable li:hover{background-color:#ccc}.w3-centered tr th,.w3-centered tr td{text-align:center}
.w3-table td,.w3-table th,.w3-table-all td,.w3-table-all th{padding:8px 8px;display:table-cell;text-align:left;vertical-align:top}
.w3-table th:first-child,.w3-table td:first-child,.w3-table-all th:first-child,.w3-table-all td:first-child{padding-left:16px}
.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:hover{box-shadow:0 8px 16px 0 rgba(0,0,0,0.2),0 6px 20px 0 rgba(0,0,0,0.19)}
.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-disabled,.w3-btn:disabled,.w3-button:disabled{cursor:not-allowed;opacity:0.3}.w3-disabled *,:disabled *{pointer-events:none}
.w3-btn.w3-disabled:hover,.w3-btn:disabled:hovwidther{box-shadow:none}
.w3-badge,.w3-tag{background-color:#000;color:#fff;display:inline-block;padding-left:8px;padding-right:8px;text-align:center}.w3-badge{border-radius:50%}
.w3-ul{list-style-type:none;padding:0;margin:0}.w3-ul li{padding:8px 16px;border-bottom:1px solid #ddd}.w3-ul li:last-child{border-bottom:none}
.w3-tooltip,.w3-display-container{position:relative}.w3-tooltip .w3-text{display:none}.w3-tooltip:hover .w3-text{display:inline-block}
.w3-ripple:active{opacity:0.5}.w3-ripple{transition:opacity 0s}
.w3-input{padding:8px;display:block;border:none;border-bottom:1px solid #ccc;width:100%}
.w3-select{padding:9px 0;width:100%;border:none;border-bottom:1px solid #ccc}
.w3-dropdown-click,.w3-dropdown-hover{position:relative;display:inline-block;cursor:pointer}
.w3-dropdown-hover:hover .w3-dropdown-content{display:block}
.w3-dropdown-hover:first-child,.w3-dropdown-click:hover{background-color:#ccc;color:#000}
.w3-dropdown-hover:hover > .w3-button:first-child,.w3-dropdown-click:hover > .w3-button:first-child{background-color:#ccc;color:#000}
.w3-dropdown-content{cursor:auto;color:#000;background-color:#fff;display:none;position:absolute;min-width:160px;margin:0;padding:0;z-index:1}
.w3-check,.w3-radio{width:24px;height:24px;position:relative;top:6px}
.w3-sidebar{height:100%;width:200px;background-color:#fff;position:fixed!important;z-index:1;overflow:auto}
.w3-bar-block .w3-dropdown-hover,.w3-bar-block .w3-dropdown-click{width:100%}
.w3-bar-block .w3-dropdown-hover .w3-dropdown-content,.w3-bar-block .w3-dropdown-click .w3-dropdown-content{min-width:100%}
.w3-bar-block .w3-dropdown-hover .w3-button,.w3-bar-block .w3-dropdown-click .w3-button{width:100%;text-align:left;padding:8px 16px}
.w3-main,#main{transition:margin-left .4s}
.w3-modal{z-index:3;display:none;padding-top:100px;position:fixed;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:rgb(0,0,0);background-color:rgba(0,0,0,0.4)}
.w3-modal-content{margin:auto;background-color:#fff;position:relative;padding:0;outline:0;width:600px}
.w3-bar{width:100%;overflow:hidden}.w3-center .w3-bar{display:inline-block;width:auto}
.w3-bar .w3-bar-item{padding:8px 16px;float:left;width:auto;border:none;display:block;outline:0}
.w3-bar .w3-dropdown-hover,.w3-bar .w3-dropdown-click{position:static;float:left}
.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;white-space:normal;float:none;outline:0}
.w3-bar-block.w3-center .w3-bar-item{text-align:center}.w3-block{display:block;width:100%}
.w3-responsive{display:block;overflow-x:auto}
.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-col,.w3-half,.w3-third,.w3-twothird,.w3-threequarter,.w3-quarter{float:left;width:100%}
.w3-col.s1{width:8.33333%}.w3-col.s2{width:16.66666%}.w3-col.s3{width:24.99999%}.w3-col.s4{width:33.33333%}
.w3-col.s5{width:41.66666%}.w3-col.s6{width:49.99999%}.w3-col.s7{width:58.33333%}.w3-col.s8{width:66.66666%}
.w3-col.s9{width:74.99999%}.w3-col.s10{width:83.33333%}.w3-col.s11{width:91.66666%}.w3-col.s12{width:99.99999%}
@media (min-width:601px){.w3-col.m1{width:8.33333%}.w3-col.m2{width:16.66666%}.w3-col.m3,.w3-quarter{width:24.99999%}.w3-col.m4,.w3-third{width:33.33333%}
.w3-col.m5{width:41.66666%}.w3-col.m6,.w3-half{width:49.99999%}.w3-col.m7{width:58.33333%}.w3-col.m8,.w3-twothird{width:66.66666%}
.w3-col.m9,.w3-threequarter{width:74.99999%}.w3-col.m10{width:83.33333%}.w3-col.m11{width:91.66666%}.w3-col.m12{width:99.99999%}}
@media (min-width:993px){.w3-col.l1{width:8.33333%}.w3-col.l2{width:16.66666%}.w3-col.l3{width:24.99999%}.w3-col.l4{width:33.33333%}
.w3-col.l5{width:41.66666%}.w3-col.l6{width:49.99999%}.w3-col.l7{width:58.33333%}.w3-col.l8{width:66.66666%}
.w3-col.l9{width:74.99999%}.w3-col.l10{width:83.33333%}.w3-col.l11{width:91.66666%}.w3-col.l12{width:99.99999%}}
.w3-rest{overflow:hidden}.w3-stretch{margin-left:-16px;margin-right:-16px}
.w3-content,.w3-auto{margin-left:auto;margin-right:auto}.w3-content{max-width:980px}.w3-auto{max-width:1140px}
.w3-cell-row{display:table;width:100%}.w3-cell{display:table-cell}
.w3-cell-top{vertical-align:top}.w3-cell-middle{vertical-align:middle}.w3-cell-bottom{vertical-align:bottom}
.w3-hide{display:none!important}.w3-show-block,.w3-show{display:block!important}.w3-show-inline-block{display:inline-block!important}
@media (max-width:1205px){.w3-auto{max-width:95%}}
@media (max-width:600px){.w3-modal-content{margin:0 10px;width:auto!important}.w3-modal{padding-top:30px}
.w3-dropdown-hover.w3-mobile .w3-dropdown-content,.w3-dropdown-click.w3-mobile .w3-dropdown-content{position:relative}	
.w3-hide-small{display:none!important}.w3-mobile{display:block;width:100%!important}.w3-bar-item.w3-mobile,.w3-dropdown-hover.w3-mobile,.w3-dropdown-click.w3-mobile{text-align:center}
.w3-dropdown-hover.w3-mobile,.w3-dropdown-hover.w3-mobile .w3-btn,.w3-dropdown-hover.w3-mobile .w3-button,.w3-dropdown-click.w3-mobile,.w3-dropdown-click.w3-mobile .w3-btn,.w3-dropdown-click.w3-mobile .w3-button{width:100%}}
@media (max-width:768px){.w3-modal-content{width:500px}.w3-modal{padding-top:50px}}
@media (min-width:993px){.w3-modal-content{width:900px}.w3-hide-large{display:none!important}.w3-sidebar.w3-collapse{display:block!important}}
@media (max-width:992px) and (min-width:601px){.w3-hide-medium{display:none!important}}
@media (max-width:992px){.w3-sidebar.w3-collapse{display:none}.w3-main{margin-left:0!important;margin-right:0!important}.w3-auto{max-width:100%}}
.w3-top,.w3-bottom{position:fixed;width:100%;z-index:1}.w3-top{top:0}.w3-bottom{bottom:0}
.w3-overlay{position:fixed;display:none;width:100%;height:100%;top:0;left:0;right:0;bottom:0;background-color:rgba(0,0,0,0.5);z-index:2}
.w3-display-topleft{position:absolute;left:0;top:0}.w3-display-topright{position:absolute;right:0;top:0}
.w3-display-bottomleft{position:absolute;left:0;bottom:0}.w3-display-bottomright{position:absolute;right:0;bottom:0}
.w3-display-middle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);-ms-transform:translate(-50%,-50%)}
.w3-display-left{position:absolute;top:50%;left:0%;transform:translate(0%,-50%);-ms-transform:translate(-0%,-50%)}
.w3-display-right{position:absolute;top:50%;right:0%;transform:translate(0%,-50%);-ms-transform:translate(0%,-50%)}
.w3-display-topmiddle{position:absolute;left:50%;top:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)}
.w3-display-bottommiddle{position:absolute;left:50%;bottom:0;transform:translate(-50%,0%);-ms-transform:translate(-50%,0%)}
.w3-display-container:hover .w3-display-hover{display:block}.w3-display-container:hover span.w3-display-hover{display:inline-block}.w3-display-hover{display:none}
.w3-display-position{position:absolute}
.w3-circle{border-radius:50%}
.w3-round-small{border-radius:2px}.w3-round,.w3-round-medium{border-radius:4px}.w3-round-large{border-radius:8px}.w3-round-xlarge{border-radius:16px}.w3-round-xxlarge{border-radius:32px}
.w3-row-padding,.w3-row-padding>.w3-half,.w3-row-padding>.w3-third,.w3-row-padding>.w3-twothird,.w3-row-padding>.w3-threequarter,.w3-row-padding>.w3-quarter,.w3-row-padding>.w3-col{padding:0 8px}
.w3-container,.w3-panel{padding:0.01em 16px}.w3-panel{margin-top:16px;margin-bottom:16px}
.w3-code,.w3-codespan{font-family:Consolas,"courier new";font-size:16px}
.w3-code{width:auto;background-color:#fff;padding:8px 12px;border-left:4px solid #4CAF50;word-wrap:break-word}
.w3-codespan{color:crimson;background-color:#f1f1f1;padding-left:4px;padding-right:4px;font-size:110%}
.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-card-4,.w3-hover-shadow:hover{box-shadow:0 4px 10px 0 rgba(0,0,0,0.2),0 4px 20px 0 rgba(0,0,0,0.19)}
.w3-spin{animation:w3-spin 2s infinite linear}@keyframes w3-spin{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}
.w3-animate-fading{animation:fading 10s infinite}@keyframes fading{0%{opacity:0}50%{opacity:1}100%{opacity:0}}
.w3-animate-opacity{animation:opac 0.8s}@keyframes opac{from{opacity:0} to{opacity:1}}
.w3-animate-top{position:relative;animation:animatetop 0.4s}@keyframes animatetop{from{top:-300px;opacity:0} to{top:0;opacity:1}}
.w3-animate-left{position:relative;animation:animateleft 0.4s}@keyframes animateleft{from{left:-300px;opacity:0} to{left:0;opacity:1}}
.w3-animate-right{position:relative;animation:animateright 0.4s}@keyframes animateright{from{right:-300px;opacity:0} to{right:0;opacity:1}}
.w3-animate-bottom{position:relative;animation:animatebottom 0.4s}@keyframes animatebottom{from{bottom:-300px;opacity:0} to{bottom:0;opacity:1}}
.w3-animate-zoom {animation:animatezoom 0.6s}@keyframes animatezoom{from{transform:scale(0)} to{transform:scale(1)}}
.w3-animate-input{transition:width 0.4s ease-in-out}.w3-animate-input:focus{width:100%!important}
.w3-opacity,.w3-hover-opacity:hover{opacity:0.60}.w3-opacity-off,.w3-hover-opacity-off:hover{opacity:1}
.w3-opacity-max{opacity:0.25}.w3-opacity-min{opacity:0.75}
.w3-greyscale-max,.w3-grayscale-max,.w3-hover-greyscale:hover,.w3-hover-grayscale:hover{filter:grayscale(100%)}
.w3-greyscale,.w3-grayscale{filter:grayscale(75%)}.w3-greyscale-min,.w3-grayscale-min{filter:grayscale(50%)}
.w3-sepia{filter:sepia(75%)}.w3-sepia-max,.w3-hover-sepia:hover{filter:sepia(100%)}.w3-sepia-min{filter:sepia(50%)}
.w3-tiny{font-size:10px!important}.w3-small{font-size:12px!important}.w3-medium{font-size:15px!important}.w3-large{font-size:18px!important}
.w3-xlarge{font-size:24px!important}.w3-xxlarge{font-size:36px!important}.w3-xxxlarge{font-size:48px!important}.w3-jumbo{font-size:64px!important}
.w3-left-align{text-align:left!important}.w3-right-align{text-align:right!important}.w3-justify{text-align:justify!important}.w3-center{text-align:center!important}
.w3-border-0{border:0!important}.w3-border{border:1px solid #ccc!important}
.w3-border-top{border-top:1px solid #ccc!important}.w3-border-bottom{border-bottom:1px solid #ccc!important}
.w3-border-left{border-left:1px solid #ccc!important}.w3-border-right{border-right:1px solid #ccc!important}
.w3-topbar{border-top:6px solid #ccc!important}.w3-bottombar{border-bottom:6px solid #ccc!important}
.w3-leftbar{border-left:6px solid #ccc!important}.w3-rightbar{border-right:6px solid #ccc!important}
.w3-section,.w3-code{margin-top:16px!important;margin-bottom:16px!important}
.w3-margin{margin:16px!important}.w3-margin-top{margin-top:16px!important}.w3-margin-bottom{margin-bottom:16px!important}
.rw-margin-top{margin-top:50px}
.w3-margin-left{margin-left:16px!important}.w3-margin-right{margin-right:16px!important}
.w3-padding-small{padding:4px 8px!important}.w3-padding{padding:8px 16px!important}.w3-padding-large{padding:12px 24px!important}
.w3-padding-16{padding-top:16px!important;padding-bottom:16px!important}.w3-padding-24{padding-top:24px!important;padding-bottom:24px!important}
.w3-padding-32{padding-top:32px!important;padding-bottom:32px!important}.w3-padding-48{padding-top:48px!important;padding-bottom:48px!important}
.w3-padding-64{padding-top:64px!important;padding-bottom:64px!important}
.w3-padding-top-64{padding-top:64px!important}.w3-padding-top-48{padding-top:48px!important}
.w3-padding-top-32{padding-top:32px!important}.w3-padding-top-24{padding-top:24px!important}
.w3-left{float:left!important}.w3-right{float:right!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}
/* Colors */
.w3-amber,.w3-hover-amber:hover{color:#000!important;background-color:#ffc107!important}
.w3-aqua,.w3-hover-aqua:hover{color:#000!important;background-color:#00ffff!important}
.w3-blue,.w3-hover-blue:hover{color:#fff!important;background-color:#2196F3!important}
.w3-light-blue,.w3-hover-light-blue:hover{color:#000!important;background-color:#87CEEB!important}
.w3-brown,.w3-hover-brown:hover{color:#fff!important;background-color:#795548!important}
.w3-cyan,.w3-hover-cyan:hover{color:#000!important;background-color:#00bcd4!important}
.w3-blue-grey,.w3-hover-blue-grey:hover,.w3-blue-gray,.w3-hover-blue-gray:hover{color:#fff!important;background-color:#607d8b!important}
.w3-green,.w3-hover-green:hover{color:#fff!important;background-color:#4CAF50!important}
.w3-light-green,.w3-hover-light-green:hover{color:#000!important;background-color:#8bc34a!important}
.w3-indigo,.w3-hover-indigo:hover{color:#fff!important;background-color:#3f51b5!important}
.w3-khaki,.w3-hover-khaki:hover{color:#000!important;background-color:#f0e68c!important}
.w3-lime,.w3-hover-lime:hover{color:#000!important;background-color:#cddc39!important}
.w3-orange,.w3-hover-orange:hover{color:#000!important;background-color:#ff9800!important}
.w3-deep-orange,.w3-hover-deep-orange:hover{color:#fff!important;background-color:#ff5722!important}
.w3-pink,.w3-hover-pink:hover{color:#fff!important;background-color:#e91e63!important}
.w3-purple,.w3-hover-purple:hover{color:#fff!important;background-color:#9c27b0!important}
.w3-deep-purple,.w3-hover-deep-purple:hover{color:#fff!important;background-color:#673ab7!important}
.w3-red,.w3-hover-red:hover{color:#fff!important;background-color:#f44336!important}
.w3-sand,.w3-hover-sand:hover{color:#000!important;background-color:#fdf5e6!important}
.w3-teal,.w3-hover-teal:hover{color:#fff!important;background-color:#009688!important}
.w3-yellow,.w3-hover-yellow:hover{color:#000!important;background-color:#ffeb3b!important}
.w3-white,.w3-hover-white:hover{color:#000!important;background-color:#fff!important}
.w3-black,.w3-hover-black:hover{color:#fff!important;background-color:#000!important}
.w3-grey,.w3-hover-grey:hover,.w3-gray,.w3-hover-gray:hover{color:#000!important;background-color:#9e9e9e!important}
.w3-light-grey,.w3-hover-light-grey:hover,.w3-light-gray,.w3-hover-light-gray:hover{color:#000!important;background-color:#f1f1f1!important}
.w3-dark-grey,.w3-hover-dark-grey:hover,.w3-dark-gray,.w3-hover-dark-gray:hover{color:#fff!important;background-color:#616161!important}
.w3-pale-red,.w3-hover-pale-red:hover{color:#000!important;background-color:#ffdddd!important}
.w3-pale-green,.w3-hover-pale-green:hover{color:#000!important;background-color:#ddffdd!important}
.w3-pale-yellow,.w3-hover-pale-yellow:hover{color:#000!important;background-color:#ffffcc!important}
.w3-pale-blue,.w3-hover-pale-blue:hover{color:#000!important;background-color:#ddffff!important}
.w3-text-amber,.w3-hover-text-amber:hover{color:#ffc107!important}
.w3-text-aqua,.w3-hover-text-aqua:hover{color:#00ffff!important}
.w3-text-blue,.w3-hover-text-blue:hover{color:#2196F3!important}
.w3-text-light-blue,.w3-hover-text-light-blue:hover{color:#87CEEB!important}
.w3-text-brown,.w3-hover-text-brown:hover{color:#795548!important}
.w3-text-cyan,.w3-hover-text-cyan:hover{color:#00bcd4!important}
.w3-text-blue-grey,.w3-hover-text-blue-grey:hover,.w3-text-blue-gray,.w3-hover-text-blue-gray:hover{color:#607d8b!important}
.w3-text-green,.w3-hover-text-green:hover{color:#4CAF50!important}
.w3-text-light-green,.w3-hover-text-light-green:hover{color:#8bc34a!important}
.w3-text-indigo,.w3-hover-text-indigo:hover{color:#3f51b5!important}
.w3-text-khaki,.w3-hover-text-khaki:hover{color:#b4aa50!important}
.w3-text-lime,.w3-hover-text-lime:hover{color:#cddc39!important}
.w3-text-orange,.w3-hover-text-orange:hover{color:#ff9800!important}
.w3-text-deep-orange,.w3-hover-text-deep-orange:hover{color:#ff5722!important}
.w3-text-pink,.w3-hover-text-pink:hover{color:#e91e63!important}
.w3-text-purple,.w3-hover-text-purple:hover{color:#9c27b0!important}
.w3-text-deep-purple,.w3-hover-text-deep-purple:hover{color:#673ab7!important}
.w3-text-red,.w3-hover-text-red:hover{color:#f44336!important}
.w3-text-sand,.w3-hover-text-sand:hover{color:#fdf5e6!important}
.w3-text-teal,.w3-hover-text-teal:hover{color:#009688!important}
.w3-text-yellow,.w3-hover-text-yellow:hover{color:#d2be0e!important}
.w3-text-white,.w3-hover-text-white:hover{color:#fff!important}
.w3-text-black,.w3-hover-text-black:hover{color:#000!important}
.w3-text-grey,.w3-hover-text-grey:hover,.w3-text-gray,.w3-hover-text-gray:hover{color:#757575!important}
.w3-text-light-grey,.w3-hover-text-light-grey:hover,.w3-text-light-gray,.w3-hover-text-light-gray:hover{color:#f1f1f1!important}
.w3-text-dark-grey,.w3-hover-text-dark-grey:hover,.w3-text-dark-gray,.w3-hover-text-dark-gray:hover{color:#3a3a3a!important}
.w3-border-amber,.w3-hover-border-amber:hover{border-color:#ffc107!important}
.w3-border-aqua,.w3-hover-border-aqua:hover{border-color:#00ffff!important}
.w3-border-blue,.w3-hover-border-blue:hover{border-color:#2196F3!important}
.w3-border-light-blue,.w3-hover-border-light-blue:hover{border-color:#87CEEB!important}
.w3-border-brown,.w3-hover-border-brown:hover{border-color:#795548!important}
.w3-border-cyan,.w3-hover-border-cyan:hover{border-color:#00bcd4!important}
.w3-border-blue-grey,.w3-hover-border-blue-grey:hover,.w3-border-blue-gray,.w3-hover-border-blue-gray:hover{border-color:#607d8b!important}
.w3-border-green,.w3-hover-border-green:hover{border-color:#4CAF50!important}
.w3-border-light-green,.w3-hover-border-light-green:hover{border-color:#8bc34a!important}
.w3-border-indigo,.w3-hover-border-indigo:hover{border-color:#3f51b5!important}
.w3-border-khaki,.w3-hover-border-khaki:hover{border-color:#f0e68c!important}
.w3-border-lime,.w3-hover-border-lime:hover{border-color:#cddc39!important}
.w3-border-orange,.w3-hover-border-orange:hover{border-color:#ff9800!important}
.w3-border-deep-orange,.w3-hover-border-deep-orange:hover{border-color:#ff5722!important}
.w3-border-pink,.w3-hover-border-pink:hover{border-color:#e91e63!important}
.w3-border-purple,.w3-hover-border-purple:hover{border-color:#9c27b0!important}
.w3-border-deep-purple,.w3-hover-border-deep-purple:hover{border-color:#673ab7!important}
.w3-border-red,.w3-hover-border-red:hover{border-color:#f44336!important}
.w3-border-sand,.w3-hover-border-sand:hover{border-color:#fdf5e6!important}
.w3-border-teal,.w3-hover-border-teal:hover{border-color:#009688!important}
.w3-border-yellow,.w3-hover-border-yellow:hover{border-color:#ffeb3b!important}
.w3-border-white,.w3-hover-border-white:hover{border-color:#fff!important}
.w3-border-black,.w3-hover-border-black:hover{border-color:#000!important}
.w3-border-grey,.w3-hover-border-grey:hover,.w3-border-gray,.w3-hover-border-gray:hover{border-color:#9e9e9e!important}
.w3-border-light-grey,.w3-hover-border-light-grey:hover,.w3-border-light-gray,.w3-hover-border-light-gray:hover{border-color:#f1f1f1!important}
.w3-border-dark-grey,.w3-hover-border-dark-grey:hover,.w3-border-dark-gray,.w3-hover-border-dark-gray:hover{border-color:#616161!important}
.w3-border-pale-red,.w3-hover-border-pale-red:hover{border-color:#ffe7e7!important}.w3-border-pale-green,.w3-hover-border-pale-green:hover{border-color:#e7ffe7!important}
.w3-border-pale-yellow,.w3-hover-border-pale-yellow:hover{border-color:#ffffcc!important}.w3-border-pale-blue,.w3-hover-border-pale-blue:hover{border-color:#e7ffff!important}

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

p {
  margin: 0.5vh;
}

textarea {width:100%}

.theWeek {
    display: flex;
   /*  align-items: stretch; */
    flex-wrap: wrap;  /*Wrap divs to fit on one line  */
    font-size: 0.8rem;
    width: 100%; /* Take up full width of the screen */
  }

  .theWeek .past { 
    background-color: hsl(54, 77%, 90%); 
    flex: 120px;
    color: gray;
  }

  .theWeek .today { /* Style every other child (odd) */
    background-color: #ffd700; /* Mustard yellow background */
    flex: 160px;
  }

  .theWeek .tomorrow { 
    background-color: #f0e68c; 
    flex: 140px;
  }

  .theWeek .future { 
    background-color: #f0e68c; 
    flex: 120px;
  }

  
.theWeek > div { /* Target all nested divs within #theWeek */
  padding: 10px; /* Add some padding for readability */
  margin: 5px; /* Add spacing between boxes */
  width: calc(95% / 7); /* Each box takes 1/7th of the screen width */
  border-radius: 5px; /* Add some rounded corners */
  box-sizing: border-box; /* Include padding in width calculation */
  overflow-wrap: break-word; /* Allow text to break to next line */
  height: fit-content; /* Dynamically adjust height based on content */
  height: var(--max-lines)em;
}

.hubNewsDay {
  padding-left: 10px; /* Add some padding for readability */
  padding-top: 2px; /* Add some padding for readability */
  padding-bottom: 2px; /* Add some padding for readability */
  margin: 5px; /* Add spacing between boxes */
  background-color: #f0e68c; 
  border-radius: 5px; /* Add some rounded corners */
}


.hubNewsDayName {
  font-family:"Segoe UI",Arial,sans-serif;
  font-weight:800;
  margin:2px 0;
}

  /* Style for the modal (temporary div) 
  .modal {
    display: none; 
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-color: white;
    border: 2px solid black;
    padding: 20px;
    z-index: 1000;
    width: 50%;
    max-width: 500px;
    text-align: center;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
}
*/

.modal {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background-color: white;
  border: 2px solid black;
  padding: 20px;
  z-index: 1000; /* Ensure it's on top of other content */
  width: 60%;
  max-width: 500px;
  text-align: center;
  box-shadow: 0 0 15px rgba(0, 0, 0, 0.5);
  border-radius: 10px; /* Rounded corners */
  opacity: 0; /* Initially fully transparent */
  transition: opacity 1s ease; /* Fade-in and fade-out effect */
}


.modal button {
    margin-top: 20px;
    padding: 5px 10px;
    cursor: pointer;
}

/* Dimmed background effect */
.modal-backdrop {
    opacity: 0;
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5); /* Semi-transparent background */
    z-index: 900; /* Behind the modal */
    transition: opacity 1s ease; /* Fade-in and fade-out effect */
}
/* When the modal is displayed */
.show {
  opacity: 1; /* Fully visible */
}

#alert-box {
  position: absolute;
  bottom: 10%; /* One tenth up from the bottom */
  left: 5%;   /* One tenth from the left */
  background-color: rgb(220, 220, 255,.7);
  padding: 10px; /* Add some padding for spacing inside the box */
  /*z-index: 9999;  */
  box-shadow: 0px 4px 8px rgba(0, 0, 0, 1); /* Optional: add some shadow for visibility */
  /*border: 1px solid #ccc; /* Optional: border for emphasis */
  max-width: 80%; /* Limit width to avoid overflow */
  word-wrap: break-word; /* Ensure text wraps within the div */
  letter-spacing: 0;
}

  ul {
    display: flex;
    list-style: none;
  }

  li {
    list-style: none;
}

a {
    text-decoration: none;
}

  .header{
    position:fixed;
    z-index:1;
    background: white;
    width:100%;
    border-bottom: 1px solid #E2E8F0;
}

.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    /*padding: 1rem .5rem; */
}
  
.hamburger {
  display: none;
}

.bar {
  display: block;
  width: 25px;
  height: 3px;
  margin: 5px auto;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  background-color: #101010;
}

.nav-menu {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
}

.nav-item {
  margin-left: .5rem;
}

.nav-link{
  font-size: 1rem;
  font-weight: 400;
  color: #475569;
}

.nav-link:hover{
  color: #482ff7;
}

.nav-logo {
  font-size: 2.1rem;
  font-weight: 500;
  color: #482ff7;
}

@media only screen and (max-width: 1068px) {
  .nav-menu {
      position: fixed;
      left: -100%;
      top: 5rem;
      flex-direction: column;
      background-color: #fff;
      width: 100%;
      border-radius: 10px;
      text-align: center;
      transition: 0.3s;
      box-shadow:
          0 10px 27px rgba(0, 0, 0, 0.05);
  }

  .nav-menu.active {
      left: 0;
  }

  .hamburger {
      display: block;
      cursor: pointer;
  }

}

#splash {
  top:4.5rem;
}

#page-title {
  position: absolute;
  font-family: var(--heading-font);
  font-weight: bold;
  font-size: 3vh;
  top: 1vh;
  left: 2vw;
  text-shadow: 3px 3px 5px grey;
  padding: 0 8px 8px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}


#page-subhead {
  position: absolute;
  font-family: var(--heading-font);
  font-weight: bold;
  font-size: 2vh;
  top: 6vh;
  left: 3vw;
  text-shadow: 3px 3px 5px grey;
  padding: 0 8px 8px 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.display-time {
  grid-column: 3 / span 2; /* Span across the 3rd and 4th columns */
  grid-row: 2;    /* 2nd row */
  display: flex;
  justify-content: flex-end; /* Align to the right */
  align-items: flex-end;   /* Align to the top */
  gap: 15px; /* Space between the radio buttons */
  padding-right: 10px; /* Optional: to give more space from the right edge */
}

.display-time label {
  display: flex;
  align-items: center;
}

#events {
  grid-column: 3 / span 2;
  grid-row: 3 / 4;
  display: grid;
 /* grid-template-rows: 10% 1fr;*/
  grid-template-columns: 5% 1fr;
}
#top-left {
  grid-column-start: 1;
  grid-row-start: 1;
  display: none;
}

#event-hours {
  grid-column-start: 1;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%; /* Adjust height as needed */
}

#event-hours span {
  text-align: center;
}

#event-dow {
  /* display: flex; */
  grid-row-start: 1;
  display: none;
  flex-direction: row;
  justify-content: space-around;
  width: 100%; /* Adjust height as needed */
}

#event-dow span {
  text-align: center;
}
#event-matrix {
  grid-column: 2 / 3; 
  grid-row: 1 / 2;
  z-index: 100;
  display: grid;
  grid-template-rows: repeat(48, 1fr);
  /*grid-template-columns: repeat(8, 1fr);*/
  border: 1px solid lightgrey;
  background-image: linear-gradient(to right, lightgrey 1px, transparent 1px),
                     linear-gradient(to bottom, lightgrey 1px, transparent 1px);
  /*background-size:  12.5% 7.69230769231%;*/
  background-size:  100% 8.33333333333%;
  background-color: white;
  pointer-events: none;
}

#event-back {
  grid-column: 2 / 3; 
  grid-row: 1 / 2;
  z-index: 1;
} 


.event-box {
  background-color: white; /* Background color of each grid cell */
  outline: 1px solid grey; /* Visible borders for each box */
  box-sizing: border-box; /* Ensures the outline doesn't affect size */
}

#hiders {
  position:static;
  grid-column: 4 / span 2;
  grid-row: 4 / 6;
  display: grid;
  justify-content: end;
  font-family: var(--body-font);
  font-weight: normal;
  padding: 3px;
  bottom: 0;
  width: 100%;
}



#activityList {
  /*grid-column: 1 / span 4;
  grid-row: 5 / 6; */
  font-family: var(--body-font);
  font-weight: normal;
  top: 8vh;
  left: 2vw;
  padding: 0 8px 8px 0;
  /*white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; */
}

#information-block-instances {
  grid-column: 1 / span 6;
  grid-row: 6/ span 1;
  font-family: var(--body-font);
  font-weight: normal;
  top: 0;
  left: 2vw;
  padding: 0 8px 8px 0;
  position: absolute;

  /*white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; */
}

.this-date {
  font-weight: bolder;
  background-color: var(--background-green);
} 

h1, h2 {
  text-shadow: 3px 3px 5px grey;
}
h2 {
  font-family: var(--heading-font);
  font-weight: normal;
  font-size: 1.2rem;
  margin-block-end: 4px;
  text-indent: 25px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#data-table-flex {
  height: calc(100% - 20px);
  width: 100%;
}
.table-flex {
  height:100%;
  padding: 20px;
  border-radius: 25px;
  box-shadow: inset -5px -5px 9px rgba(255, 255, 255, 0.45), inset 5px 5px 9px rgba(94, 104, 121, 0.3);
  background-color: var(--background-green);
  background-clip: content-box;
}

th {
  position: sticky;
  top: 0;
  background: #ccd2f8;
  text-align: left;
  font-weight: normal;
  font-size: 0.9rem;
  color: rgb(5, 5, 5);
  position: relative;
}
th {
  padding: .5vh;
  overflow: hidden;
  text-overflow: ellipsis; 
  white-space: nowrap; 
}

th:hover {
  overflow: visible;
}

td {
  padding: .5vh;
  max-height: calc(3 * 1.2em); /* Adjust according to your font-size and line-height */
  overflow-y: auto;
  word-wrap: break-word;
}

table {
  height: calc(100%);
  flex: 1;
  border-collapse: collapse;
  border-radius: 12px;
}

.scrollTable {
  height: 100%;
  overflow: auto;
}

#data-table{
  /*display: grid;
  grid-template-rows: 10% 90%;  */
  padding: 0;
}

#data-table th:nth-child(1), #data-table td:nth-child(1), 
#data-table th:nth-child(2), #data-table td:nth-child(2), 
#data-table th:nth-child(4), #data-table td:nth-child(4), 
#data-table th:nth-child(6), #data-table td:nth-child(6) {
  display: none;
}

#data-table tr {
  width: calc(100% - 8px);
  display: grid;
  /* grid-template-columns: minmax(0px, 0fr) minmax(40px, 1fr) minmax(120px, 2fr) minmax(150px, 2fr)   minmax(200px, 3fr) minmax(120px, 2fr) minmax(120px, 2fr) minmax(120px, 2fr) minmax(0px, 0fr) minmax(0px, 0fr) minmax(0px, 0fr) minmax(0px, 0fr) minmax(40px, 1fr) ; */
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr 20% 20%; 
  top: 10px;
  /* grid-template-rows: 2rem repeat(auto-fill, 6rem); */
}

#guts {
  /* position: relative;*/
  top: 10vh;
  width: calc(100% - 8px);
  display: grid;
  grid-template-columns: 1fr 1fr 3fr 1fr;
  grid-template-rows: 5vh 5vh 30vh 15vh;
}

#activities {
  grid-column: 1 / span 1;
  grid-row: 3 / 4;
}
#coordinators {
  grid-column: 2 / span 1;
  grid-row: 3 / 4;
}

#images {
  grid-column: 3 /  span 2;
  grid-row: 3 / 4;
}

.thumbnail {
  width: 90%;
}

#add-activity-button {
  grid-column: 1 / span 1;
  grid-row: 4 / 5;
  margin-left: 20px;
}

#add-coordinator-button {
  grid-column: 2 / span 1;
  grid-row: 4 / 5;
  margin-left: 20px;
}

#add-image-button {
  grid-column: 3 / span 1;
  grid-row: 4 / 5;
  margin-left: 20px;
}

#add-activ-button {
  grid-column: 1 / span 3;
  grid-row: 6 / 7;
  margin-left: 20px;
}

#block-guts {
  position: relative;
  width: calc(100% - 8px);
  display: grid;
  grid-template-columns: 4fr 1fr 8fr 3fr 1fr;;
  grid-template-rows: 5vh 5vh 30vh 5vh 10vh 40vh;
}

#information-blocks {
  grid-column: 1 / span 1;
  grid-row: 3 / 4;
}

#information-block-data-table{
  display: grid;
  grid-template-rows: 10% 90%; 
}

#information-block-data-table th:nth-child(1), #information-block-data-table td:nth-child(1), 
#information-block-data-table th:nth-child(2), #information-block-data-table td:nth-child(2),
#information-block-data-table th:nth-child(4), #information-block-data-table td:nth-child(4){
    display: none;
}

#information-block-data-table tr {
  width: calc(100% - 8px);
  display: grid;
  /* grid-template-columns: minmax(0px, 0fr) minmax(40px, 1fr) minmax(120px, 2fr) minmax(150px, 2fr)   minmax(200px, 3fr) minmax(120px, 2fr) minmax(120px, 2fr) minmax(120px, 2fr) minmax(0px, 0fr) minmax(0px, 0fr) minmax(0px, 0fr) minmax(0px, 0fr) minmax(40px, 1fr) ; */
  grid-template-columns: 1fr 1fr 1fr  60%; 
  top: 10px;
  /* grid-template-rows: 2rem repeat(auto-fill, 6rem); */
}

.information-block-button {
  grid-column: 1 / span 3;
  grid-row: 4 / 6;
  margin-left: 20px;
}

.ib-instance-button {
  grid-column: 1 / span 3;
  grid-row: 5 / 6;
  margin-left: 20px;
  position: absolute;
  bottom: 0;
}

#alert-area {
  grid-column: 3 / span 2;
  grid-row: 3 / 4;
  margin-left: 20px;
  border: 1px;
  border-style: solid;
  border-color: black;
  padding: 5px;
}

.edit-alert-box {
  border: 1px;
  border-style: solid;
  border-color: black;
  margin: 5px;
  padding: 2px
}

.scroll-box {
  overflow-x: hidden;
  overflow-y: auto; 
}

thead {
  background-color: #ccd2f8;
}

tbody {
  height: 100%;
  overflow: auto;
}

.table-box {
  padding: .5rem;
}

.thumbnail-container {
  float: left; /* Make thumbnails float left for horizontal arrangement */
  margin: 0.5rem; /* Add margin between thumbnails */
  width: 150px; /* Set the width of each thumbnail */
  height: 100px; /* Set the height of each thumbnail */
  position: relative; /* Enable relative positioning for child elements */
  overflow: hidden; /* Hide overflowing content */
  /* display: inline-block; */ /* Display thumbnails inline-block for horizontal arrangement */
}

.thumbnail-container div:first-child {
  display: none; /* Hide the first nested div */
}

.thumbnail-container div:nth-child(2) {
  color: white; /* Set text color to white */
  background-color: black; /* Set background color to black */
  position: absolute; /* Position the text absolutely within the container */
  top: 0; /* Center the text vertically within the container */
  left: 50%; /* Center the text horizontally within the container */
  transform: translate(-50%, 0); /* Adjust positioning for better centering */
  font-size: 16px; /* Adjust font size as needed */
  text-align: center; /* Center the text horizontally */
  width: 100%; /* Make the text element fill the container width */
  opacity: 0.7; /* Add slight transparency to the text overlay */
}

.fit {
  height: 100%;
  width: 100%;
}

.fit img {
  width: 100%; /* Set the image to fill the container width */
  height: 100%; /* Set the image to fill the container height */
  object-fit: cover; /* Ensure the image covers the entire container */
}

#images-table-body {
  height: 80%;
}

#images-table-body .title-bar {
  background-color: #ccd2f8;
  height: 2rem;
  padding: .5rem;
}

#images-table-body .title-bar h2 {
  font-size: 0.9rem; /* Set font size for the title */
  height: 100%;
  margin: 0; /* Remove default margins */
}

#images-pool {
  height: 100%;
  width: auto; /* Allow the container to grow horizontally */
  overflow-y: auto; /* Enable vertical scrollbar if needed */ 
}

#data-table-container {
  height: 100%;
}

#add-activ-dialog {
  display: inline;
}

#add-ib-instance-dialog {
  display: inline;
}

.grey-text {
  color: grey;
}

.dancing-script-heading {
  font-family: "Dancing Script", cursive;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: white;
  text-shadow:
    -1px -1px 0 black,
     1px -1px 0 black,
     -1px 1px 0 black,
     1px 1px 0 black,
     0 0 2px white;
}

.text-biggish {
  font-size: 3vw;
  line-height: 1.5;
}

.text-big {
  font-size: 10vw;
}

.display-topmiddle {
  position: absolute;
  top: 6px;
  left: 0; /* Start at the left edge */
  right: 0; /* Extend to the right edge
  transform: translateY(-50%);
  text-align: center; */
  color: white;
}

.display-container {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}

.display-margin {
margin-top:5px;
}

#maxy {
   max-width: 1564px;
   min-width: 264px;
}
.highlighted-row {
  font-weight: bold;
  border: 2px solid red;
}
.activity_ {
  background-color: hsla(54, 77%, 75%, 0.5);
  width: 80%;
  pointer-events: auto;
  z-index: 100;
}
.activity_.highlighted-row {
  background-color: hsl(54, 77%, 45%);
  border: 0;
}


.exception_ {
  background-color: hsla(80, 77%, 75%, 0.5);
  width: 80%;
  pointer-events: auto;
  z-index: 100;
}
.exception_.highlighted-row {
  background-color: hsla(80, 77%, 45%, 1.0);
  border: 0;
}

.highlighted-row.selected-cell{
  border: 2px solid red;
}

.timePast, #show-past {
  background-color: hsl(0, 0%, 95%);
}
.timePresent, #show-present {
  background-color: hsl(120, 100%, 90%);
}
.timeFuture, #show-future {
  background-color: hsl(240, 100%, 90%);  
}
/*
.timePast.highlighted-row {
  background-color: hsl(0, 0%, 80%);
}
.timePresent.highlighted-row {
  background-color: rgb(0, 255, 0);
}
.timeFuture.highlighted-row {
  background-color: rgb(150, 150, 255);
}
*/


#information-blocks-table-body .highlighted-row,
#activities-table-body .highlighted-row,
#coordinators-table-body .highlighted-row,
/*#data-table-body .highlighted-row,*/
#images-pool .highlighted-row {
  background-color: rgb(0, 255, 0);
}

button.toggled {
  color: grey; /* Change button text color when toggled */
}

/* calendar */

#calendar {
  /* position: fixed; */
  /* left: 2vw; */
  grid-column: 1 / span 2;
  grid-row: 3 / 4;
  width: 100%;
  max-width: 300px;
  /* min-width: 260px; */
  margin: 0 auto; /* Center the calendar */
  border: 1px solid #ddd;
  padding: 10px;
  box-sizing: border-box;
  font-family: Arial, sans-serif;
}

#calendar-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}

#calendar-body {
  display: flex;
  flex-direction: column;
}

#weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  font-weight: bold;
  margin-bottom: 5px;
}

#weekdays div {
  text-align: center;
}

#days {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
/*
#days div {
  height: 13%;
  line-height: 13%x;
  text-align: center;
  box-sizing: border-box;
}

*/

#days div {

  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 5px; /* Horizontal spacing between cells */
  width: calc(100% - 10px); /* Adjust width to account for margins */
  height: 0; /* Initial height */
  padding-top: 50%; /* Aspect ratio 1:1 */
  padding-bottom: 50%; /* Aspect ratio 1:1 */
  box-sizing: border-box;
  text-align: center;
  /*line-height: 1;  Ensure vertical alignment for text */
  /*
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%; /* Ensures the cell spans the full width of the grid cell 
  padding-top: 100%; /* Maintains a 1:1 aspect ratio 
  box-sizing: border-box;
  text-align: center;

      position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 5px; /* Horizontal spacing between cells 
    width: calc(100% - 10px); /* Adjust width to account for margins 
    height: 0; /* Set height to 0 to maintain aspect ratio 
    padding-top: 100%; /* Maintain a 1:1 aspect ratio 
    box-sizing: border-box;
    text-align: center;
  */
}

.day-today {

  position: absolute;
  background-color: #f00;
  color: #fff;
  border-radius: 50%;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  /*
  position: absolute;
  background-color: #f00;
  color: #fff;
  border-radius: 50%;
  width: 70%; /* Adjust size as needed 
  height: 70%; /* Adjust size as needed 
  display: flex;
  align-items: center;
  justify-content: center;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  line-height: normal; /* Ensure vertical alignment 

      position: absolute;
    background-color: #f00;
    color: #fff;
    border-radius: 50%;
    width: 70%; /* Adjust size as needed 
    height: 70%; /* Adjust size as needed 
    display: flex;
    align-items: center;
    justify-content: center;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
  */
}

.hide-description {
  max-height: 0;               /* Fully collapsed */
  opacity: 0;                  /* Fully transparent */
  overflow: hidden;            /* Prevent overflow */
  transition: max-height 0.6s ease, opacity 0.6s ease; /* Smooth transition */
}

/* Visible state - content expanded */
.show-description {
  max-height: 500px;           /* Adjust to fit your content */
  opacity: 1;                  /* Fully visible */
  transition: max-height 0.6s ease, opacity 0.6s ease; /* Smooth transition */
}

.sticky-top {
  position:sticky;
  width:100%;
  z-index:1;
  top:0;
}

tr.moving {
  position: relative;
  transition: transform 0.6s ease;
}

tr.final {
  /*transform: translateY(-100%);*/
  transition: none;
}


.modal-header {
  font-size: 24px;
  margin-bottom: 15px;
  text-align: center;
}

.modal-section {
  margin-bottom: 20px;
}

.modal-section h3 {
  text-align: left;
  margin-bottom: 10px;
}

.modal-content {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
}

.modal-content label {
  text-align: left;
  font-weight: bold;
}

.modal-content p, .modal-content input {
  text-align: right;
  margin: 0;
}

.modal-content input[type="checkbox"] {
  justify-self: end; /* Align the checkbox to the right within its grid cell */
  margin: 0;
}

.large-field {
  grid-column: span 2;
  text-align: left;
}

textarea {
  width: 100%;
  height: 100px;
}

.modal-buttons {
  text-align: right;
}

.modal-buttons button {
  margin-left: 10px;
}

.modal-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 999;
}

#exceptionButton {
  display: none;
  grid-column: 1 / span 2;
  grid-row: 5/6;
  translate: 0 -2vh;
  margin-left: 20px;
  margin-bottom: 1px;
}

