:root {
    --black: #000000;
    --inactive: #CCCCCC;
    --inactive-color: #888888;
    --yellow: #f5ff00;
    --yellow-sticky: #FFFFCC;
    --border-color: #CCCCCC;
    --light-grey: #EEEEEE;
    --red-sox-red: #BD3039;
    --red-sox-blue: #0C2340;
    --processing: #800080;
    --title-color: #fbf2e3;
    --white: #FFFFFF;
    --wrapper: #fcfbf3;
    --fenway: #35423d;
    --photo-background: #777777;
}   

*, *::before, *::after {
    box-sizing: border-box;
}

html {
    height: 100%;
}

body {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    display: flex;
    flex-direction: column;
    margin: 0;
    padding: 0;
    min-height: 100%;
}

wrapper {
    background: var(--wrapper);
    display: flex;
    flex-direction: column;
    height: 100%;
    margin: 0 auto;
    max-width: 1400px;
    width: 100%;
}
header {
    background-image: url("images/kevin_header_picture.jpg");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    border-bottom: 5px solid var(--black);
    display: grid;
    grid-template-columns: 3fr 4fr 2fr;
    max-height: 270px;
    min-width: 400px;
    justify-content:center;
    margin: 0 auto;
    width: 100%;
}
header div.images {
    padding: .6rem 1rem .4rem 1rem;
    text-align: center;
}
header div.title {
    color: var(--title-color);
    padding: 1rem;
}
header div.navigation {
    padding: 1rem;
    text-align: right;
}
header div img {
    margin-right: .5rem;
    margin-left: .5rem;
    max-width: 75px;
}
header h1 {
    background: rgba(0, 0, 0, 0.35);
    font-size: 2.5rem;
    font-weight: 700; 
    letter-spacing: .1rem;
    margin: 0;
    padding: .5rem 0 0 0;
    text-align:center;
    text-transform: uppercase;
}
header h2 {
    background: rgba(0, 0, 0, 0.35);
    font-size: 1.3rem;
    font-weight: 500;
    margin: 0;
    padding: 0 0 .5rem 0;
    text-align:center;
    text-transform: uppercase;
}

footer {
    border-top: 1px solid var(--black);
    display: block;
    margin: 1em auto 0 auto;
    max-width: 1200px;
    width: 100%;
}

main {
    display: grid;
    flex-grow: 1;
    grid-template-columns: 1fr 2fr;
    grid-gap: 1rem;
    padding-bottom: 2rem;
}
main div.sideboard {
    margin: 0;
    padding: 0;
}
main div.sideboard img {
    display: block;
}
main div.sideboard h1 {
    font-size: 1.4rem;
    font-weight: 700;
    margin: 0;
    padding: 1rem 1rem 0 1rem;
    text-transform: uppercase;
}
main div.sideboard h2 {
    font-size: .8rem;
    font-weight: 300;
    margin: 0;
    padding: 0 1rem .5rem 1rem;
    text-transform: uppercase;
}
main div.sideboard p {
    line-height: 1.2rem;
    margin: 0;
    padding: 0 0 .5rem 1rem;
}

main div.sideboard ul {
    list-style:none;
    margin: 0;
    padding: 1rem;
}
main div.sideboard ul li {
    padding: 0;
}
main div.sideboard ul li button {
    background: #555555;
    border:none;
    color: var(--title-color);
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: .25rem;
    padding: 1rem .5rem;
    width: 100%;
}
main div.sideboard ul li button:hover {
    background: #bbbbbb;
    color: var(--white);
    cursor: pointer;
    font-weight: 700;
}
main div.sideboard ul li button.chosen {
    background: rgba(0,0,0,0.8);
    color: var(--white);
}
main div.sideboard ul li button.chosen:hover {
    background: rgba(0,0,0,0.8);
    color: var(--white);
    font-weight: 500;
}

.content {
    margin: 0;
    padding: 0;
}
.content h1 {
    font-size: 1.4rem;
    font-weight: 700;
    margin: 0;
    padding: 1rem 1rem 0 1rem;
    text-transform: uppercase;
}
.content h2 {
    font-size: .8rem;
    font-weight: 300;
    margin: 0;
    padding: 0 1rem .5rem 1rem;
    text-transform: uppercase;
}
.content p {
    line-height: 1.2rem;
    margin: 0;
    padding: 0 1rem .5rem 1rem;
}
.content ul {
    line-height: 1.2rem;
    padding: 0 1rem .5rem 1rem;
}
.content ul li {
    margin-left: 2rem;
    padding-bottom: .5rem;
}
.content blockquote {
    font-style: italic;
}
.content img {
    display: block;
    padding: .5rem;
}
.content ul.comments {
    list-style:none;
    margin: 0;
    padding: 1rem;
}
.content ul.comments li {
    border-bottom: 1px dotted var(--border-color);
    margin-bottom: 2rem;
}
.content ul.comments li p {
    line-height: 1.4rem;
}
.content ul.comments li div.comment-details {
    margin-bottom: 2rem;
    text-align:center;
}

/* Navigation */

div.navigation ul {
    list-style:none;
    margin: 0;
    padding: 0;
}
div.navigation ul li {
    padding: 0;
}
div.navigation ul li button {
    background: rgba(0, 0, 0, 0.5);
    border:none;
    color: var(--title-color);
    font-size: 1.1rem;
    font-weight: 500;
    margin-bottom: 2px;
    padding: 1rem .5rem;
    width: 100%;
}
div.navigation ul li button:hover {
    background: rgba(251,242,227,0.5);
    color: var(--black);
    cursor: pointer;
    font-weight: 700;
}
div.navigation ul li.chosen button {
    background: rgba(0,0,0,0.8);
    color: var(--white);
}
div.navigation ul li.chosen button:hover {
    background: rgba(0,0,0,0.8);
    color: var(--white);
    font-weight: 500;
}

/* Listing */

.listing {
    list-style:none;
    margin: 0;
    padding: 0;
}
.listing li {
    border-bottom: 1px solid var(--border-color);
    display: grid;
    grid-template-columns: 2fr 10fr 1fr 3fr;
    padding: 0;
}
.listing li:hover {
    background: var(--light-grey);
}
.listing li div {
    padding: .5rem;
    vertical-align: top;
}
.listing li div.menu {
    padding: 0;
    text-align: right;
}
.listing li div.menu button {
    background: var(--red-sox-red);
    border:none;
    border-left: 1px solid var(--white);
    color: var(--white);    
    margin: 0;
    padding: .55rem;
    text-decoration: none;
    text-align:center;
    width: 5rem;
}
.listing li div.menu button:hover {
    background: var(--red-sox-blue);
    color: var(--white);
    cursor: pointer;
}
.listing li div.menu a {
    background: var(--red-sox-red);
    border:none;
    border-left: 1px solid var(--white);
    color: var(--white);    
    display: inline-block;
    margin: 0;
    padding: .5rem;
    text-decoration: none;
    text-align:center;
    width: 5rem;
}
.listing li div.menu :hover {
    background: var(--red-sox-blue);
    color: var(--white);
    cursor: pointer;
}
.listing li.title {
    background: var(--red-sox-blue);
    color: var(--white);
    display: flex;
    justify-content: flex-end;  
    align-items:center;
    margin: 0;
    padding: 0;
}
.listing li.title h2 {
    font-size: .8rem;
    font-weight: 500;
    margin: 0;
    padding: .5rem 1rem;
}
.listing li.title ul {
    display: flex;
    justify-content: flex-end;
}
.listing li.title ul li {
    border: none;
    display: block;
}
.listing li.title ul li button {
    border: none;
    background: var(--red-sox-blue);
    color: var(--white);
    display: block;
    font-size: .8rem;
    font-weight: 500;
    padding: .5rem 1rem;
    text-decoration: none;
}
.listing li.title ul li button:hover {
    background: var(--red-sox-red);
    color: var(--white);
}



.listnavigation {
    display: flex;
    list-style:none;
    margin: 0;
    padding: 0;
}
.listnavigation li {
    border-right: 1px solid var(--border-color);
}
.listnavigation li:last-child {
    border-right: none;
}
.listnavigation button {
    background: var(--red-sox-red);
    border: none;
    color: var(--white);
    padding: .5rem 1rem;
}
.listnavigation button:hover {
    background: var(--light-grey);
    color: var(--red-sox-blue);
}
.listnavigation button.chosen {
    background: var(--red-sox-blue);
    color: var(--white);
}

.absolute                    {position: absolute;z-index:1;}
	
.overlay                     {background: #F2F2F2;display:none;width:0;height:0;z-index:5;}
.overlay a                   {display:block;font-size:.8em;height:100%;justify-content:center;text-decoration:none;text-transform:uppercase;width:100%;}
.overlay a p                 {background: #FFFFFF;border-top: 1px solid #363636;border-bottom: 1px solid #363636;color:#363636;font-weight:900;line-height: 1.6em;margin: 0;padding:3em .25em;}
.overlay a p i               {padding-left: 1em;}

.relative                    {position: relative;overflow:hidden;z-index:1;}
.relative:hover .overlay     {display:block;overflow:hidden;height:100%;left:0;opacity:0.5;padding:1em;top:0;text-align:center;width:100%;}


.video-gallery {
    margin: 0 1rem 1rem 1rem;
    padding: 0;
}
.video-gallery ul {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: .25rem;
    list-style:none;
    margin: 1rem 0;
    padding: 0;
}
.video-gallery ul li {
    background: var(--photo-background);
    display: block;
    justify-content: center;
    align-items: center;
    height: 400px;
    padding: 0;
    width: 100%;
}
.video-gallery ul li video {
    display: block;
    width: 100%;
    max-height: 400px;
}

.song-display {
    display: grid;
    grid-template-columns: 1fr 1fr;
    padding: 1rem;
}
.song-display audio {
    margin-bottom: 1rem;
}
.song-display img {
    width:100%;
}

.photo-gallery {
    margin: 0 1rem 1rem 1rem;
    padding: 0;
}
.photo-gallery ul {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: .25rem;
    list-style:none;
    margin: 1rem 0;
    padding: 0;
}
.photo-gallery ul li {
    background: var(--photo-background);
    display: flex;
    justify-content: center;
    align-items: center;
    height: 225px;
    padding: 0;
    width: 100%;
}
.photo-gallery ul li img {
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    display: block;
    padding: 0;
}

.mini-gallery {
    margin: 0 1rem 1rem 1rem;
    padding: 0;
}
.mini-gallery ul {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    gap: .25rem;
    list-style:none;
    margin: 0;
    padding: 0;
}
.mini-gallery ul li {
    overflow: hidden;
    height: 325px;
}
.mini-gallery ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
    padding: 0;
    text-decoration: none;
    width: 100%;
}
.mini-gallery ul li a img {
    height: 100%;
    object-fit: cover;
    display: block;
}

.video-holder h1 {
    background: var(--black);
    color: var(--white);
    font-size: 1rem;
    font-weight: 700;
    margin: 0;
    padding: .25rem .5rem;
    text-align: left;
    text-transform: uppercase;
}

@media (width <= 600px){
    header {
        display: block;
        height: 100%;
        max-height: 400px;
    }
    .video-holder {
        padding: 0;
        text-align:center;
    }
    .video-holder video {
        width: 100%;
    }

}


@media (width >= 800px){

    .video-holder {
        background: var(--wrapper);
        padding: 1rem;
        text-align:center;
    }
    .video-holder video {
        display: block;
        max-width: 900px;
        width: 100%;
    }


    .page-grid {
        display: grid;
        grid-template-columns: repeat(12,1fr);
        grid-gap: 1rem;
    }

    .page-grid-1 {
        grid-column: span 1;
    }

    .page-grid-1-5 {
        grid-column: span 1/2;
    }

    .page-grid-2 {
        grid-column: span 2;
    }

    .page-grid-3 {
        grid-column: span 3;
    }

    .page-grid-4 {
        grid-column: span 4;
    }

    .page-grid-5 {
        grid-column: span 5;
    }

    .page-grid-6 {
        grid-column: span 6;
    }

    .page-grid-7 {
        grid-column: span 7;
    }

    .page-grid-8 {
        grid-column: span 8;
    }

    .page-grid-9 {
        grid-column: span 9;
    }

    .page-grid-10 {
        grid-column: span 10;
    }

    .page-grid-11 {
        grid-column: span 11;
    }

    .page-grid-12 {
        grid-column: span 12;
    }

    .page-grid-13 {
        grid-column: span 13;
    }

    .page-grid-14 {
        grid-column: span 14;
    }

    .page-grid-15 {
        grid-column: span 15;
    }

    .page-grid-16 {
        grid-column: span 16;
    }

    .page-grid-17 {
        grid-column: span 17;
    }

    .page-grid-18 {
        grid-column: span 18;
    }

    .page-grid-19 {
        grid-column: span 19;
    }

    .page-grid-20 {
        grid-column: span 20;
    }

}

.orange {background:orange;}
.yellow {background:yellow;}