.hidden-column {
    display: none !important;
}

.sticky{
    position:sticky;
    top:0px;
    background-color:#fff;
    padding-left:8px;
    height:74px;
    z-index:2;
}
.stickyThead{
    position:sticky;
    top:74px;
    padding-left:8px;
    z-index:1;
}

html{
    font-size:16px;
    scroll-behavior:smooth;
}
body{
    font-family: sans-serif;
    background-color: #A31223;
    line-height: 1.25;
    margin:0px;
}
header{
    text-align: center;
}
nav{
    width:100%;
    height:80px;
    display:flex;
    justify-content: space-evenly;
    align-items: center;
    background-color: #800000;
}
nav a{
    text-decoration: none;
    color:#FFF;
    font-size:1.2rem;
}
nav a:hover{
    text-decoration: underline;
}
main{
    max-width: 1600px;
    width:80%;
    min-width:878px;
    margin:0px auto;
    padding:1px;
    min-height:calc(60vh);
    background-color: #FFF;
    padding:12px;
    outline:1px solid #000;
}
footer{
    margin-top:60px;
    text-align:center;
    background-color: #A31223;
    color:#FFF;
    padding:100px 40px;
}
footer p{
    max-width: 1600px;
    margin:0px auto;
}
form{
    display:flex;
    flex-wrap: wrap;
}
section{
    background-color: #FFF;
    flex-grow:1;
    min-width:420px;
    width: 46%;
    padding:0%;
    margin:.5%;
}
.flex{
    display:flex;
}
.flex div{
    width:50%;
}
.full{
    width: 96%;
}
h1{
    font-size: 3rem;
    text-align:center;
    font-weight:100;
}
h2{
    font-size:1.5rem;
    font-weight:100;
    margin-bottom:8px;
}

form h2{
    font-size:1.2rem;
    margin: 8px 0px;
}
form h2.spanish{
    font-size: .9rem;
}
form p{
    margin:0px;
    padding:0px;
}
form .spanish{
    font-style: italic;
    font-size: .8rem;
}
input, select{
    margin-bottom:10px;
    padding:1%;
    font-size:1rem;
    width:96%;
    border:none;
    outline:1px solid #DDD;
}
input[type="checkbox"],input[type="radio"]{
    width:auto;
}
input[type="submit"], input[type="button"]{
    padding:10px 40px;
    background-color: #A31223;
    color: #FFF;
    margin:8px;
    border:none;
    width:200px;
}
#deleteButton{
    margin-left:20%;
    width:260px;
    background-color: #000;
}
input[type="submit"]:hover, input[type="button"]:hover{
    background-color: #800000;
}
#sibling_question{
    display:none;
}
.small{
    width:60px;
    padding:4px;
    margin-right:10px;
}
#special{
    display:flex;
    justify-content:space-between;
}
#special div{
    display: flex;
    flex-direction:column;
    align-items:center;
}

#backtotop{
    width:60px;
    position:fixed;
    top:0px;
    left:0px;
}
#backtotop a{
    font-size:1rem;
    color:blue;
}

#edit{
    width:100%;
    height:100vh;
    position:fixed;
    top:0px;
    display:none;
    justify-content:center;
    align-items:center;
    background-color:rgba(0,0,0,0.6);
    z-index:3;
}
#editdiv{
    padding:2%;
    background-color:#FFF;
    max-width: 1600px;
    width:90%;
    margin:0px auto;
    outline:1px solid black;
    max-height:95vh;
    overflow-y: scroll;
}
#edit h1{
    margin:0px;
    font-size:2rem;
}
textarea{
    width:100%;
    height:80px;
    margin:1%;
    font-size:1rem;
}




table{
    border:none;
    border-collapse: collapse;
    width:100%;
    outline:1px solid #000;
}
table td{
    padding:4px 0px;
    border:none;
    text-align:center;
    min-width:80px;
    margin:1px;
}
table td:target{
    color:#800000;
    font-weight:bold;
}
table tr:nth-child(odd){
    background-color: #FFF;
}
table tr:nth-child(even){
    background-color: #FFF6F6;
}
thead th{
    background-color: #800000;
    color:#fff;
    font-weight:normal;
    padding:8px 0px;
}

table.adminTable tr{
    cursor:move;
}
table.adminTable td{
    padding:16px 0px;
}

table.view tr.enrolled {
    background-color: #BBB;
    color: #666;
}



#code{
    font-size:4em;
}


#classes{
    display:flex;
    flex-wrap:wrap;
    width:100%;
}
#classes div{
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    width:calc(20% - 20px);
    min-width:120px;
    padding:12px 4px;
    margin:6px;
    text-align:center;
    outline:1px solid #DDD;
    flex-grow:1;
}
#classes p{
    margin:2px;
}
#classes a{
    padding:6px 20px;
    background-color: #800000;
    color: #FFF;
    text-decoration:none;
}
#classes a:hover{
    background-color: #A31223;
}
.classh2{
    font-size:2.25rem;
    margin-top:120px;
}

.daterange{
    font-size:0.75rem;
}