*{
    margin: 0;
    padding: 0;
}

html{
    font-size: 67.5%;
}

body{
    position: relative;
    background-color: #215732;
    margin: 0;
    font-family: 'Roboto', sans-serif;
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #232323;
    padding-bottom: 48px;
    min-height: calc(100vh - 48px);
    line-height: 1.5;
}

.expcoll { font-size: 180%; cursor: pointer; background-color: #8888ff;}
.zeroout, .copysugg { cursor: pointer; }

div.cline { display: flex; font-size: 140%; width: 100%;}
div.divg  { background-color: #80ff80; }
div.divy  { background-color: #ffff80; }
div.divr  { background-color: #ff8080; }
div.divb  { background-color: #ffffff; }

label.tlp, td.tlp, option.tlp  { background-color: #ffffff; border: 2px solid #eee!important;  }
label.tlpg,td.tlpg,option.tlpg { background-color: #80ff80; border: 2px solid #eee!important;  }
label.tlpy,td.tlpy,option.tlpy { background-color: #ffff80; border: 2px solid #eee!important; }
label.tlpr,td.tlpr,option.tlpr { background-color: #ff8080; border: 2px solid #eee!important;    }

option:checked.tlpg { color: #80ff80!important; border: 2px solid white!important;  }
option:checked.tlpy { color: #ffff80!important; border: 2px solid white!important; }
option:checked.tlpr { color: #ff8080!important; border: 2px solid white!important;    }

div.radiogroup label,
div.radiogroup input
 { display: inline-block!important;
   vertical-align: middle;
   padding: .25em 3em;
   margin-top: 0;
 }

#masthead{
    box-sizing: content-box;
    padding: 0;
    background-color: white;
    width: 100%;
    margin-bottom: 0;
    box-shadow: 0px 2px 4px rgba(0,0,0, 0.5);
    font-size:150%;
}

#masthead img{
  float:left;
  margin: 0 2.5vw;
}
 
#menuhdr{
    box-sizing: content-box;
    width: calc(100vw - 6vw);
    background-color: white;
    padding: 12px 3vw 8px!important;
    margin-bottom: 24px;
    display: flex;
    justify-content: space-between;
    box-shadow: 0px 2px 4px rgba(0,0,0, 0.5);
}

#menuhdr ul{
	clear: both;
    display: flex;
    align-items: center;
    margin-bottom: 0;
    padding: 0;
}

#left-nav a{
    margin-right: 1vw;
}

#right-nav a{
    margin-left: 1vw;
}

#menuhdr ul li{
    display: inline;
}

#menuhdr ul li a{
    text-decoration: none;
    color: #302F78;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
    padding: 3px;
}

#menuhdr ul li.here{
    text-decoration: none;
    background-color: #ffaaaa;
    color: #ff;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
    margin-right: 1vw;
    padding: 3px;
}

.close-menu-button{
    display: none;
    width: 40px;
}

.logo{
    height: 100px;
}

#mobile-header{
    padding: 8px 3vw;
    background-color: white;
    width: calc(100vw - 6vw);
    align-items: center;
    margin-bottom: 16px;
    display: none;
}

#menu-icon{
    padding: 8px 8px 8px 0px;
}

#mobile-header img{
    margin-right: 26px;
}

.content-card{
   box-sizing: content-box;
    width: calc(94vw - 6vw);
    margin-bottom: 24px;
    padding: 48px 3vw;
    border-radius: 1vw;
    background-color: #FFFFFF;
    box-shadow: 0px 2px 4px rgba(0,0,0, 0.5);
}

.note-card {
   box-sizing: content-box;
    margin-bottom: 24px;
    padding: 10px;
    border-radius: 1em;
    background-color: #FFFFFF;
    color: red;
    font-size: 1.2em;
    font-weight: bold;
}

.full-width-container{
    box-sizing: content-box;
    padding: 24px 3vw;
    background-color: white;
    width: calc(100vw - 6vw);
    margin-bottom: 24px;
    box-shadow: 0px 2px 4px rgba(0,0,0, 0.5);
}

.full-width-container form{
    margin-top: 0;
   }

.full-width-container form div{
    display: inline-block;
    margin-right: 1vw;
vertical-align: top;
}

table{
    border-collapse: collapse;
    border: solid;
    border-width: 1px;
    border-color: #215732;
    background-color: white;
    font-size: 1.4rem;
}

tr.lt {
  background-color: white;
}

tr.dk {
  background-color: #f4f4f4;
}

table.fixhead {
        overflow-y: auto; /* make the table scrollable if height is more than 200 px  */
        height: 200px; /* gives an initial height of 200px to the table */
      }
table.fixhead thead th {
        position: sticky; /* make the table heads sticky */
        top: 0px; /* table head will be placed from the top of the table and sticks to it */
      }
	  
table.service td {
    text-align: right;
}

table.stats td {
    text-align: right;
}

table.stats th {
    vertical-align: bottom;
    padding: .5em 1em .5em;
}

table th{
//    background-color: #008299;
    background-color: #215732;
    color: white;
    border: solid;
    border-width: 1px;
    border-color: #215732;
    padding: 4px;
}

table th a{
    color: white;
    text-decoration: underline;
}

table td{
    border: solid;
    border-width: 1px;
    border-color: #215732;
    padding: 4px;
}

table td a{
    color: #215732;
    text-decoration: underline;
}

table.bs th {
    background-color: white;
    color: black; 
}

table.grptbl td,
table.nowrap td,
th.nowrap,
td.nowrap {
  white-space: nowrap;
}

table.grptbl {
  color: #000000;
  border-color: #000000;
}

table.grptbl td {
  border-color: #000000;
  vertical-align: top;
}

table#member-table td {
  white-space: nowrap;	
}

table#member-table td img {
 vertical-align: bottom;
}
table#stars-table{
margin-top: 1em;
}
table#stars-table tr td:nth-child(2) {
  white-space: nowrap;	
}

table#participant-table td,
table#participant-table input {
 padding: 1px;
 min-height: 0px;
}

table td.view_sub {
  font-size: 1.4rem;
  font-weight: bold;
  background-color: #dddddd;
  text-align: left!important;
}

#eventstable {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
}
#title {
  flex-basis: 400px;
  color: #fff;
//    background-color: #008299;
    background-color: #215732;
  margin: 0;
  padding: 1em 0 0 1em;
}
table.events {
 border-collapse: collapse;
 --table-border-width: 1px;
}

th.rotate {
  position: relative;
  white-space: nowrap;
}

table.events th {
//    background-color: #008299;
    background-color: #215732;
color: #fff;
border-top: 1px solid #215732;
border-bottom: 1px solid #215732;
border-left: 1px solid #215732;
border-right: 1px solid #215732;
}

th.rotate > div {
  position: absolute;
  bottom: 1em;
  left: 0;
  /* Make sure short labels still meet the corner of the parent otherwise you'll get a gap */
  text-align: left;
  /* Move the top left corner of the span's bottom-border to line up with the top left corner of the td's border-right border so that the border corners are matched
   * Rotate 315 (-45) degrees about matched border corners */
  transform: 
    translate(calc(100% - var(--table-border-width) / 2), var(--table-border-width) )
    rotate(270deg);
  transform-origin: 0% calc(100% - var(--table-border-width) );
  width: 100%;
}
th.rotate > div > span {
  /* make sure the bottom of the span is matched up with the bottom of the parent div */
  position: absolute;
  bottom: 0;
  left: 0;
  border-bottom: var(--table-border-width) solid #215732;
}

table.events td {
  padding: 2px;
  text-align: right;
  border: 1px solid #215732;
  min-width: 8px;
}

table#map {
 margin-top:1em;
 width:90%;
}

table#map th {
 width: 33.33%;
}

table#map td.suite {
 font-weight:bold;
 background-color:#ccc;
}

h2{
    margin-bottom: 8px;
    font-size: 2.4rem;
    color: #215732;
}

h3{
    margin-bottom: 8px;
    font-size: 1.6rem;
    font-weight: 700;
}

h4 {
    margin-top: 20px;
    font-size: 1.6rem;
    font-weight: 700;
}

form h3:not(:first-child){
    margin-top: 48px;
}

p{
    font-size: 1.4rem;
    margin-top: 1em;
}

a{
    text-decoration: none;
}

form{
    margin-top: 24px;
}

label{
    font-size: 1.2rem;
    font-weight: 700;
    display: block;
    margin-top: 16px;
}

.matchbox input {
display: inline;
vertical-align: middle;
min-height: 0;
}

.label{
    font-size: 1.2rem;
    font-weight: 700;
    display: block;
    margin-top: 16px;
}

label:first-of-type{
    margin-top: 0;
}

div.filter>label {
  margin-top: 12px;
}

table.view-record {
  font-size: 1.6rem;
}

table.view-record > tbody > tr > td:first-child {
  text-align: right;
  width: 25%;
}

table.view-record,
table.view-record td {
  border: none;
}

.small-text{
    font-size: 1.2rem;
}

.inline-label{
    font-size: 1.4rem;
    font-weight: 300;
    display: inline-block;
    margin-right: 4px;
}

.inline-value{
    font-size: 1.4rem;
    font-weight: 500;
    display: inline-block;
    margin-bottom: 8px;
}

.solo-value{
    font-weight: 500;
    margin-bottom: 8px;
}

.body-text{
    
}

select{
    max-width: 100%;
    margin-top: 4px;
    border-radius: 3px;
    border-color: #302F78;
    border-width: 1px;
    font-size: 1.4rem;
    font-family: 'Roboto', sans-serif;
    background-color: #FFFFFF;
    display: block;
    padding: 4px 4px;
}

input{
    max-width: 100%;
    margin-top: 4px;
    display: block;
    border-radius: 3px;
    border-width: 1px;
    border-color: #302F78;
    border-width: 1px;
    font-size: 1.4rem;
    padding: 4px 4px;
}

select.dt,
input.dt {
  display: inline;
}

textarea{
    max-width: 100%;
    margin-top: 4px;
    display: block;
    min-height: 40px;
    border-radius: 3px;
    border-width: 1px;
    border-color: #302F78;
    border-width: 1px;
    font-size: 1.4rem;
    padding: 8px;

}

.pdf-embed{
    margin-top: 24px;
    width: 100%;
}

.text-button{
    display: inline-block;
    border: none;
    border-radius: 3px;
    background: transparent;
    padding: 9px 0px;
    font-size: 1.4rem;
    font-weight: 700;
    text-transform: uppercase;
    text-decoration: underline;
    line-height: 1;
    color: #215732;
    margin-top: 24px;
    margin-right: 2vw;
    cursor: pointer;
}

.white{
    color: #FFFFFF;
}

.text-button.white{
    margin-bottom: 16px;
 }

p .text-button{
    margin-right: 0px;
}

.contained-button{
    min-height: auto;
    display: inline-block;
    margin-top: 24px;
    margin-right: 2vw;
    border: none;
    border-radius: 3px;
    padding: 9px 12px;
    font-size: 1.4rem;
    font-weight: 500;
    text-transform: uppercase;
    line-height: 1;
    background-color: #215732;
    color: white;
    box-shadow: 0px 2px 4px rgba(0,0,0, 0.5);
    cursor: pointer;
}

.outlined-button{
    min-height: auto;
    display: inline-block;
    margin-top: 24px;
    margin-right: 2vw;
    border-radius: 3px;
    border-width: 1px;
    border-color: #215732;
    padding: 9px 12px;
    font-size: 1.4rem;
    font-weight: 500;
    box-shadow: 0px 2px 4px;
    text-transform: uppercase;
    line-height: 1;
    background-color: #FFFFFF;
    color: #215732;
    box-shadow: 0px 2px 4px rgba(0,0,0, 0.5);
    cursor: pointer;
}

:disabled{
    color: gray;
    cursor: auto;
}

#footer{
    position: absolute;
    bottom: 0;
    width: 100vw;
    background-color: #FFFFFF;
    display: flex;
    justify-content: center;
    padding: 8px 0px;
    box-shadow: 0px 0px 4px rgba(0,0,0, 0.5);
}

#footer a{
    padding: 0px 4px;
    color:#215732;
}

.form-hint{
    font-size: 1.2rem;
}

.error-message{
    background-color: #FFCACA;
    padding: 8px;
    font-weight: 500;
    color: #8A0000;
    border-radius: 3px;
    width: max-content;
    margin-top: 24px;
}

#loading-overlay{
    width: 100vw;
    height: 100vh;
    background-color: white;
    opacity: 0.97;
    position: fixed;
    display: flex;
    justify-content: center;
    align-items: center;
}

#loading-gif{
    width: 16vw;
}

input[type='checkbox']{
    display: inline-block;
    vertical-align: middle;
    margin: 0;
    padding: 0;
}

.checkbox-label{
    display: inline-block;
    margin: 4px; 
    vertical-align: middle;
    font-size: 1.4rem;
    font-weight: 400;
    padding: 0;
    width: max-content;
}

.content-card p+p{
    margin-top: 8px;
}

.content-card b a{
    color: #215732;
    text-decoration: underline;
}

.content-card ul,
.content-card ol,
.full-width-container ul,
.full-width-container ol {
 margin: 1rem 1rem 1rem 2.5rem;
}

.content-card ul li,
.content-card ol li,
.full-width-container ul li,
.full-width-container ol li {
 margin: 0 0 .5rem;
 font-size: 1.4rem;
}

.content-card ul li.secondbullet {
 margin: 0 0 .5rem 2rem;
 font-size: 1.4rem;
 list-style: circle;
}

/*--------------------------------------------------------------------------------------------------------------*/
@media only screen and (max-width: 800px) {
.content-card{
    width: calc(88vw - 4vw);
    padding: 16px 4vw;
}

#mobile-header{
    display: flex;
}


p{
    font-size: 1.6rem;
}

.full-width-container form {
}

.full-width-container form div{
    display: block;
}

.full-width-container form div:not(:first-child){
    margin-top: 16px;
}

.close-menu-button{
    display: block;
    width: 24px;
    position: absolute;
    top: 4vw;
    right: 10vw;
    padding: 16px;
}

#menuhdr{
    display: none;
    opacity: 0;
    flex-direction: column;
    justify-content: start;
    align-items: center;
    width: 100vw;
    height: 100vh;
    background-color: white;
    position: fixed;
    z-index: 9999;
    top: 0;
    left: 0;
    transition: opacity 2s;
    padding: 0;
}

#menuhdr ul{
    
    flex-direction: column;
    align-items: center;
    margin: 24px 0px;
}

#left-nav a{
    margin: 0;
}

#right-nav a{
    margin: 0;
}

#menuhdr ul li{
    display: block;
    margin: 6px 0px;
}

#menuhdr ul li a{
    display: block;
    text-decoration: none;
    color: #302F78;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
    min-height: 30px;
}

#menuhdr ul li.here{
    display: block;
    text-decoration: none;
    color: #302F78;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1;
    min-height: 30px;
    background-color: #ffaaaa;
}

#menuhdr.open{
    display: flex;
    opacity: 1;
}

#loading-gif{
    width: 42vw;
}
}