@import url("https://fonts.googleapis.com/css?family=Roboto Mono:300,400,500,700,900");
@import url("https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900");
@import url('https://fonts.googleapis.com/css?family=Quicksand:400,700');
@import url('https://fonts.googleapis.com/css?family=Quicksand:400,700');

*, *::before, *::after{
    box-sizing:border-box;
  }

body {
  background: #F2F2F2;
  font-family: 'Roboto', sans-serif;
  margin: 0;
}

a {
    cursor: pointer;
}

strong {
    font-weight: bold;
}

.container {
  max-width: 1100px;
  margin: 0 auto;
}
.container p {
    line-height: 1.5rem;
    overflow: auto;
    padding: 1.5rem 1rem;
}
.container p.large {
    font-size: 1.2rem;
    line-height: 1.9rem;
    padding: .75rem 1rem;
}
.container p img {
    float: right;
    padding-left: 3rem;
}

.container--border{
    border-bottom: 1px solid #501a78;
}

.container--flex {
    display: flex;
}

.container--space-between {
    justify-content: space-between;
}

.content-container ol {
    list-style: decimal;
    margin-left: 2rem;
    margin-top: 1rem;
    margin-right: 0;
    margin-bottom: 0;
}
.content-container ol li {
    margin: 0;
}
.content-container ol li a {
    color: blue;
}
.content-container ol li a:hover {
    text-decoration: underline;
}
.content-container ol li p {
    line-height: 1.4rem;
    margin: 0;
    padding: 0.25rem 1rem .5rem 1rem;
}
.content-container ol ol {
    list-style: lower-alpha;
    margin-top: 0;
}
.content-container ol ol li {
    line-height: 1.4rem;
    padding: 0.25rem 1rem .5rem 1rem;
}

excess {
    display:none;
}

footer {
    background: #1d214e;
    color: #FFFFFF;
    padding: 1rem;
    text-align:center;
    width: 100%;
}
footer div.invite_info{
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
footer div.invite_info div.logos {
    padding: 1em 2em;
}
footer ul {
    justify-content: center;
    margin: 0;
    padding: 1rem;
}
footer ul li {
    line-height: 1.4rem;
}
footer ul li.date {
    font-size: 1.2rem;
    font-weight: 700;
}
footer ul li.title {
    font-size: 1.4rem;
    font-weight: 900;
    text-transform: uppercase;
}
#footertitle {
    order: 1;
}
#logo1 {
    order: 2;
}
#logo2 {
    order: 3;
}

.eventtitles {
    display: grid;
    grid-template-columns: 2fr 1fr;
    background: #611f93;
    color: #FFFFFF;
}
.eventtitles h1{
    background: #611f93;
    color: #FFFFFF;
    font-size: 1.2rem;
    font-weight: 900;
    padding: .75rem .5rem;
}
.eventtitles div.select {
    text-align:right;
    padding-right: 1rem;
}
.eventtitles div.select select {
    padding: .75rem 1rem;
    text-align:left;
    color: #FFFFFF;
}
.eventtitles div.select select option {
    color: #000000;
}

.front-boxes {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-gap: 1rem;
    margin: 1rem 0;
}
.front-boxes a {
    display: block;
    margin: 0;
    padding: 0;
}
.front-boxes a:hover {
    background: #501a78;
    color: #000000;
}
.front-boxes dl dt {
    font-size: 1rem;
    font-weight: 200;
    min-height: 5rem;
    padding: .5rem;
}
.front-boxes dl dd {
    padding: 0;
}
.front-boxes dl dd img {
    width: 100%;
}

.gallery {
    display:none;
}

.grid-1, .grid-2, .grid-3, .grid-4, .grid-5, .grid-6, .grid-7, .grid-8, .grid-9, .grid-10,
.grid-11, .grid-12, .grid-13, .grid-14, .grid-15, .grid-16, .grid-17, .grid-18, .grid-19, .grid-20 {
    width:100%;
}

header {
    background: #1d214e;
    color: #EBEBD3;
    padding: 0;
    position: relative;
}

header::after {
  content: '';
  clear: both;
  display: block;
}

.history-title ul {
    background: #1d214e;
    color: #FFFFFF;
    display: grid;
    grid-template-columns: repeat(3,1fr);
    font-size: 1.2rem;
    font-weight: 900;
}
.history-title ul li.left {
    text-align: left;
}
.history-title ul li.title {
    font-size: 1.2rem;
    font-weight: 900;
    text-align: center;
    padding: .75rem .5rem;
}
.history-title ul li.right {
    text-align: right;
}
.history-title ul li a {
    display: block;
    font-size: 1rem;
    font-weight: 300;
    padding: .75rem .5rem;
}
.history-title ul li a:hover {
    font-weight:700;
}
.history-title ul li a i {
    padding-left: .5rem;
    padding-right: .5rem;
}
.history-title ul li.left a:hover i:before {
    content: "\f0a8 ";
}
.history-title ul li.right a:hover i:before {
    content: "\f0a9 ";
}
.listing {
    font-size: 1rem;
    margin: 0;
    padding: 0;
    width: 100%;
}
.listing tr.bolded {
    font-weight: bold;
}
.listing th{
    background: #C2C2C2;
    border-bottom: 1px solid #CCC;
    font-weight: 700;
    padding: .75rem .5rem;
}
.listing th.center, .listing td.center{
    text-align:center;
}
.listing th.state {
    background: #611f93;
    color: #FFFFFF;
    font-size: 1.2rem;
    font-weight: 900;
}
.listing th.secondary {
    background: #777777;
    color: #FFFFFF;
    font-size: 1.2rem;
    font-weight: 900;
}
    /*.listing tr:nth-child(even) td {
    background: #ebebef;
}*/
.listing td {
    border-bottom: 1px solid #CCC;
    padding: .75rem .5rem;
}
.listing td.noborder {
    border-bottom: none;
}
.listing tbody:hover td {
    background: #e5ddeb;
    cursor: pointer;
}
.listing td.title {
    font-weight: 700;
    white-space: nowrap;
}
.listing td.athletes {
    padding: 0;
}
.listing td.athletes ul {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    padding: .5rem 2rem .5rem 2rem;
}
.listing td.links {
    padding: 0;
}
.listing td a {
    display: block;
    padding: .75rem .5rem;
}

.logo {
    display:block;
    color: #FFFFFF;
    font-size: 1rem;
    margin: 0;
    text-transform: uppercase;
    font-weight: 700;
    padding: 1rem;
}

.logo span {
  font-weight: 400;
}

.page-navigation {
    border-bottom: 1px solid #1d214e;
    display: block;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    width: 100%;
}
.page-navigation h1 {
    border-bottom: 1px solid #CCC;
    font-size: 1.1em;
    font-weight: 900;
    padding: .75rem .5rem;
    text-align:center;
    text-transform: uppercase;
}
.page-navigation ul {
    display:none;
}
.page-navigation div.selectdiv {
    position: relative;
}

.page-navigation select {
    appearance: auto;
    display: block;
    padding: .75rem .5rem;
    width: 100%;
}
.page-navigation select:hover {
    cursor: pointer;
}

.page-navigation select::-ms-expand {
    display: none;
}


.site-nav {
  position: absolute;
  top: 100%;
  right: 0%;
  background: #464655;
  clip-path: circle(0px at top right);
  transition: clip-path ease-in-out 700ms;
  z-index: 999;
/*   display: none; */
}

.site-nav--open {
  clip-path: circle(250% at top right);
}

.site-nav ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.site-nav li {
  border-bottom: 1px solid #575766;
}

.site-nav li:last-child {
  border-bottom: none;
}

.site-nav a {
  color: #FFFFFF;
  display: block;
  padding: 2em 4em 2em 1.5em;
  text-transform: uppercase;
  text-decoration: none;
}

.site-nav a:hover {
    background: #501a78;
}

.site-nav a.chosen {
    background: #F2F2F2;
    color: #1d214e;
    font-weight: 700;
}

.site-nav--icon {
  display: inline-block;
  font-size: 1.5em;
  margin-right: 1em;
  width: 1.1em;
  text-align: right;
  color: rgba(255,255,255,.4);
}

.masthead {
    padding: .5rem 0;
    text-align: center;
}
.masthead img {
    max-width: 90%;
}
.meet_info {
    display: none;
}


.menu-toggle {
  padding: 1em;
  position: absolute;
  top: .5em;
  right: .5em;
  cursor: pointer;
}


.officials {
    margin: 0;
    padding: 0;
}
.officials--top {
    border-top: 1px solid #CCC;
}
.officials li.wrapper {
    border-bottom: 1px solid #CCC;
    padding: .5rem .5rem 0 .5rem;
}
.officials li h1 {
    font-weight: 700;
    padding-left: .5rem;
    padding-bottom: .5rem;
}
.officials li ul li {
    border: none;
    padding-left: 1rem;
    padding-bottom: .5rem;
}

.hamburger,
.hamburger::before,
.hamburger::after {
  content: '';
  display: block;
  background: #EBEBD3;
  height: 3px;
  width: 1.75em;
  border-radius: 3px;
  transition: all ease-in-out 500ms;
}

.hamburger::before {
  transform: translateY(-6px);
}

.hamburger::after {
  transform: translateY(3px);
}

.open .hamburger {
  transform: rotate(45deg);
}

.open .hamburger::before {
  opacity: 0;
}

.open .hamburger::after {
  transform: translateY(-3px) rotate(-90deg);
}

.times {
    margin: 0;
    padding: 0;
}
.times li.wrapper {
    border-bottom: 1px solid #CCC;
    padding: .5rem .5rem 0 .5rem;
}
.times li h1 {
    font-weight: 700;
    padding-left: .5rem;
    padding-bottom: .5rem;
}
.times li ul li {
    border: none;
    padding-left: 1rem;
    padding-bottom: .5rem;
}

@media (min-width: 725px) {
  
    .container--border{
        border-bottom: 1px solid #501a78;
    }

    .eventadd {
        display: grid;
        grid-template-columns: 1fr 2fr;
        justify-content: center;
        align-content:center;   
    }
    .eventadd div.logo {
        max-height: 200px;
        text-align:center;
    }
    .eventadd div.logo img {
        max-height: 100%;
    }
    .eventadd div.business{
        display:flex;
        justify-content: center;
        align-items:center;
    }
    .eventadd div.business ul {
        text-align:center;
    }
    .eventadd div.business ul li.title {
        font-size: 2rem;
        font-weight: 900;
    }
    .eventadd div.business ul li.event {
        font-size: 1.5rem;
        font-weight: 700;
    }
    .eventadd div.business ul li.official {
        text-transform: uppercase;
    }

    excess {
        display:block;
    }

    footer div.invite_info {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
    }
    #footertitle {
        order: 2;
    }

    #logo1 {
        order: 1;
    }

    #logo2 {
        order: 3;
    }

    .front-boxes {
        display: grid;
        grid-template-columns: repeat(3,1fr);
        grid-gap: 1rem;
        margin: 1rem 0;
    }
    .front-boxes a {
        display: block;
        margin: 0;
        padding: 0;
    }
    .front-boxes a:hover {
        background: #501a78;
        color: #FFFFFF;
    }
    .front-boxes dl dt {
        font-size: 1rem;
        font-weight: 200;
        min-height: 5rem;
        padding: .5rem;
    }
    .front-boxes dl dd {
        padding: 0;
    }
    .front-boxes dl dd img {
        width: 100%;
    }

    .gallery {
        display:block;
        position: relative;
        width: 100%;
    }
    .gallery img {
        width: 100%;
    }
    .gallery div.overlay {
        background: rgba(0, 0, 0, 0.3);
        color: rgba(255,255,255,1);
        position: absolute;
        bottom: 1em;
        right: 1em;
        left: 1em;
    }
    .gallery div.overlay h1 {
        font-family: Arial, Helvetica, sans-serif;
        font-weight: 900;
        font-size: 2rem;
        letter-spacing: -.1rem;
        margin: 0;
        padding: .5rem 1rem;
        text-align:center;
        width:100%;
    }

    .grid-1 {
        width: 5%;
    }

    .grid-2 {
        width: 10%;
    }

    .grid-3 {
        width: 15%;
    }

    .grid-4 {
        width: 20%;
    }

    .grid-5 {
        width: 25%;
    }

    .grid-6 {
        width: 30%;
    }

    .grid-7 {
        width: 35%;
    }

    .grid-8 {
        width: 40%;
    }

    .grid-9 {
        width: 45%;
    }

    .grid-10 {
        width: 50%;
    }

    .grid-11 {
        width: 55%;
    }

    .grid-12 {
        width: 60%;
    }

    .grid-13 {
        width: 65%;
    }

    .grid-14 {
        width: 70%;
    }

    .grid-15 {
        width: 75%;
    }

    .grid-16 {
        width: 80%;
    }

    .grid-17 {
        width: 85%;
    }

    .grid-18 {
        width: 90%;
    }

    .grid-19 {
        width: 95%;
    }

    .grid-20 {
        width: 100%;
    }

    header {
        padding: 0;
    }

    .listing td ul.officials {
        display: grid;
        grid-template-columns: repeat(3,1fr);
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .listing td ul.times {
        display: grid;
        grid-template-columns: repeat(2,1fr);
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .logo {
        display: block;
        font-size: 1.3rem;
        padding: .75rem 1rem;
    }

    .masthead {
        text-align:left;
    }
    .meet_info {
        display: block;
        padding: 1.35rem 0;
    }
    .meet_info ul {
        display: block; 
        font-family: 'Roboto', sans-serif; 
        list-style:none;
        text-align:right;
        margin: 0;
        margin-block-start: 0;
        margin-block-end: 0;
        margin-inline-start: 0;
        margin-inline-end: 0;
        padding-inline-start: 0;
        padding-right: 1em;
    }
    .meet_info ul li {
        font-size: .9rem;
    }
    .meet_info ul li.dateline {
        font-weight: 900;
        font-size: 1.8rem;
    }

    .menu-toggle {
        display: none;
    }

    .officials {
        margin: 0;
        padding: 0;
    }
    .officials li.wrapper {
        display: grid;
        grid-template-columns: 1fr 3fr;
        border-bottom: 1px solid #CCC;
        padding: .5rem .5rem 0 .5rem;
    }
    .officials li h1 {
        font-weight: 700;
    }
    .officials li ul {
        display: grid;
        grid-template-columns: repeat(3,1fr);
    }
    .officials li ul li {
        border: none;
        padding-bottom: .5rem;
    }

    .page-navigation{
        display: flex;
    }
    .page-navigation h1 {
        border-bottom: none;
        font-size: 1.3rem;
        font-weight: 900;
        padding: 1rem .5rem;
        text-transform: uppercase;
    }
    .page-navigation ul {
        display: flex;
        justify-content: flex-end;
        margin-left: auto;
    }
    .page-navigation ul li a {
        display: block;
        padding: 1.2rem 1rem;
    }
    .page-navigation ul li a:hover {
        background: #501a78;
        color: #FFFFFF;
    }
    .page-navigation ul li a.chosen {
        background: #1d214e;
        color: #FFFFFF;
    }
    .page-navigation div.selectdiv {
        display:none;
    }


    .site-nav {
    height: auto;
    position: relative;
    background: transparent;
    clip-path: initial;
    }

    .site-nav li {
    display: inline-block;
    border: none;
    }

    .site-nav a {
    padding: 1rem .5rem;
    }


    .site-nav--icon {
    display: none;
    }
  
    .times {
        margin: 0;
        padding: 0;
    }
    .times li.wrapper {
        display: grid;
        grid-template-columns: 1fr 4fr;
        border-bottom: 1px solid #CCC;
        padding: .5rem .5rem 0 .5rem;
    }
    .times li h1 {
        font-weight: 700;
    }
    .times li ul {
        display: grid;
        grid-template-columns: repeat(2,1fr);
    }
    .times li ul li {
        border: none;
        padding-bottom: .5rem;
    }

    .years {
        display: grid;
        grid-template-columns: repeat(5,1fr);
        grid-gap: 1rem;
        list-style: none;
        margin: 0;
        padding: 1rem 0 1rem 0;
    }
    .years li {
        text-align: center;
    }
    .years li a {
        border: 1px solid #CCC;
        display: block;
        padding: 1rem;
    }
    .years li a:hover {
        background: #611f93;
        color: #FFFFFF;
    }
    .years li a.chosen {
        background: #1d214d;
        color: #FFFFFF;
    }
    .years li h1 {
        font-weight: 900;
        font-size: 2rem;
        margin: 0;
    }
    .years li p {
        margin: 0;
        padding: 0;
    }

}

@media (min-width: 725px) and (max-width: 840px){

    .gallery div.overlay h1 {
        font-size: 2.8rem;
        letter-spacing: -.2rem;
        margin: 0;
        padding: .5rem 1rem;
        text-align:center;
        width:100%;        
    }
    
    .gallery div.overlay h2 {
        font-size: 1.7rem;
        font-weight: 300;
        margin: -1rem 0 0 0;
        padding-bottom: 1rem;
        text-align:center;
    } 

    .logo {
        display: none;
    }

    .masthead {
        text-align:center;
    }

    .meet_info{
        border-top: 1px solid #501a78;
        padding: 0;
     }
     .meet_info ul {
         display: flex;
         justify-content: center;
         margin: 0 auto;
         padding: 0;
     }
     .meet_info ul li {
         font-size: .95rem;
         padding: .75em .85em;
     }
     .meet_info ul li.dateline {
         font-size: .95rem;
     }

     .excess {
         display:none;
     }

     .site-nav {
        margin-left: auto;
        margin-right: auto;
    }

    .site-nav a {
        font-size: .97rem;
        padding: 1rem .36rem;
        }

    .titleinfo {
        display: block;
    }


}

@media (min-width: 840px) and (max-width: 1070px) {

    .gallery div.overlay h1 {
        font-size: 3.3rem;
        letter-spacing: -.2rem;
        margin: 0;
        padding: .5rem 1rem;
        text-align:center;
    }
    .gallery div.overlay h2 {
        font-size: 2rem;
        font-weight: 300;
        margin: -1rem 0 0 0;
        padding-bottom: 1rem;
        text-align:center;
    }    

    .titleinfo {
        display: block;
    }

    .masthead {
        text-align:center;
    }

    .meet_info{
        border-top: 1px solid #501a78;
        padding: 0;
    }
    .meet_info ul {
        display: flex;
        justify-content: center;
        margin: 0 auto;
        padding: 0;
    }
    .meet_info ul li {
        font-size: .95rem;
        padding: .75em .85em;
    }
    .meet_info ul li.dateline {
        font-size: .95rem;
    }

    .logo {
        display:none;
    }

    .site-nav {
        margin-left: auto;
        margin-right: auto;
    }

    .titleinfo {
        justify-content: space-between;
    }

}

@media (min-width: 1071px){
    .gallery div.overlay h1 {
        font-size: 3.5rem;
        letter-spacing: -.25rem;
        margin: 0;
        padding: 0;
        text-align:center;
        width:100%;
    }
    .gallery div.overlay h2 {
        font-size: 2rem;
        font-weight: 300;
        margin: -1rem 0 0 0;
        padding-bottom: 1rem;
        text-align:center;
    }

    .site-nav a {
        padding: 1em;
    }
    .titleinfo {
        justify-content: space-between;
    }
}

.orange {background:orange;}
.yellow {background: yellow;}
.lime {background: lime;}
.cyan {background: cyan;}
.pink {background: pink;}
.white {background: #FFFFFF;}


.border-left {border-left: 1px solid #CCCCCC;}