@charset "UTF-8";

/* NSS STYLESHEET */

        @font-face {
          font-family: bodyFont;
            src: url(../font/Raleway-Regular.ttf);
        }
        @font-face {
          font-family: headingFont;
                src: url(../font/Marcellus-Regular.ttf);
        }
        @font-face {
          font-family: accentFont;
              src: url(../font/Oswald-VariableFont_wght.ttf);
        }
        @font-face {
          font-family: bodyFont_wild;
            src: url(../font/Poppins.ttf);
        }
        @font-face {
          font-family: headingFont_wild;
                src: url(../font/Epilogue.ttf);
        }

    :root {
        font-size: 16px;
        
        /* COLOR SCHEME - PRIMARY "blues 2" */
            --clr-primary-l2: 191,214,265;
            --clr-primary-l1: 141,189,255;
            --clr-primary: 66,135,245;
            --clr-primary-d1: 74,145,235;
            --clr-primary-d2: 59,125,225;

            --clr-accent-l1: 193, 200, 228;
            --clr-accent-d1: 136, 96, 208;

            --clr-neutral-l1: 232, 232, 238;
            --clr-neutral: 128, 128, 128;
            --clr-neutral-d1: 48, 64, 64;
            
        --border-radius: 12px;
        
        --nsswebsite_masthead_image: url(images/masthead/NSSbanner.jpg);
    }

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

body  {
    font-family: bodyFont;
    background: white;
	text-align: center; /* this centers the container in IE 5* browsers. The text is then set to the left aligned default in the #container selector */
	vertical-align: middle;
	behavior: url("csshover3.htc"); 
    }

/* SEMANTIC HTML SELECTORS */

    a, a:link, a:visited {
        color: rgb(var(--clr-primary-d2));
    }

    article {
        padding: 10px 20px;
        flex: 1 1 450px;
    }

        article p {
            padding: 0 20px;
        }
            
    aside {
        margin: 20px;
        padding: 40px;
        background-color: rgb(var(--clr-primary-d2));
        border-radius: var(--border-radius);
        color: white;
        font-family: headingFont;
        font-size: 1.2rem;
        font-weight: 900;
    }

    blockquote {
        font-weight: 600;
        max-width: 600px;
        padding: 10px 0 10px 3vw;
        font-family: accentFont;
    }
    
    button {
        font-family: headingFont;
        clear:both; 
        text-transform: uppercase;
        border-radius: var(--border-radius); 
        cursor: pointer; 
        display: inline-block;
        text-align: center; 
        text-decoration: none; 
        vertical-align: top; 
        white-space: nowrap; 
    }
    
        button a.link {
            text-decoration: none; 
        }
            
    /* BUTTONS */
        .btn {
            font-family: headingFont;
            clear:both; 
            text-transform: uppercase;
            border-radius: var(--border-radius); 
            cursor: pointer; 
            display: inline-block;
            text-align: center; 
            text-decoration: none; 
            vertical-align: top; 
            white-space: nowrap; 
            text-shadow: 2px 2px 4px rgb(var(--clr-primary-d2));
        }
    
        .btn-sm {
            border: 2px solid rgb(var(--clr-primary));
            color: rgb(var(--clr-neutral-l1));
            background-color: rgb(var(--clr-primary));
            box-shadow: 2px 2px 4px rgb(var(--clr-primary-d2));
            font-size: .85rem;
            line-height: 22px; 
            margin: auto 25%; 
            padding: 0 15px; 
            }
    
        .btn-lg {
            border: 4px solid rgb(var(--clr-primary));
            color: rgb(var(--clr-primary-d1));
            background-color: transparent;
            box-shadow: 4px 4px 8px rgb(var(--clr-primary-d2));
            font-size: 1.2rem;
            margin: 15px; 
            padding: 10px 30px; 
            }

            .btn-lg:hover,
            .btn-lg a:hover {
                color: rgb(var(--clr-primary-d1));
                border: 4px solid rgb(var(--clr-primary-d1));
                background-color: rgb(var(--clr-accent-l1));
                box-shadow: 4px 4px 8px rgb(var(--clr-accent-d1));
                }
            .btn-lg:active,
            .btn-lg a:active {
                margin: 17px 13px 13px 17px; 
                box-shadow: 2px 2px 4px rgb(var(--clr-accent-d1));
            }
    
    footer {
        width: 100%;
        height: auto;
        z-index: 100;
        background: rgb(var(--clr-primary));
        color: white;
    } 

    
        h1, h2, h3, h4 ,h5 ,h6 {
            font-family: headingFont;
        }
        
        h1 {
        	font-variant: normal;
            letter-spacing: 1px;
            line-height: 1.25;
            /* text-transform: uppercase;  */
            font-weight: 400;
            color: rgb(var(--clr-primary));
            font-size: 3rem;
            text-shadow: 2px 2px 4px rgb(var(--clr-primary-d2));
            text-align: center;
        }
        
        h2 {
            font-size: 1.75rem;
            font-weight: 600;
            line-height: 1.2;
            margin: 0 0 8px 0;
        	flex-basis: 100%;
        	flex-grow: 0;
        	flex-shrink: 0;
            color: rgb(var(--clr-primary-d2));
            text-shadow: 1px 1px 2px rgb(var(--clr-primary));
            padding-left: 10px;
    	}
        
        h3 {
            font-size: 1.25rem;
            font-weight: 500;
            color: black;
            background-image: linear-gradient(to right, rgba(var(--clr-primary-d2),0.4), rgba(var(--clr-primary-l2),0));
            padding-left: 10px;
            line-height: 1.6;
            margin: 0;
        }
        
        h4 {
            font-size: 1.1rem;
        }
        
        h5 {
            font-size: 1.5rem;
            padding: 0 0 5px 0;
            line-height: 1.5em;
        }
        
        h6 {
            font-size: .8rem;
            padding: 0 0 5px 0;
            line-height: 1.5em;
        }
    
    header {
        width: 100%;
        z-index: 102;
        height: 80px;
    }
    hr {
        color: rgb(var(--clr-primary-d2));
        background-color: rgb(var(--clr-primary-l2));
        height: 4px;
        width: 100%;
        float: left;
        padding: 10px 65vw 10px 20px;
    }

        li,li:before {
            content: '\266C';
            margin-right: 10px;
        }
        
    main {
        position: relative;
        top: 0;
        width: 100%;
    	margin: 0 auto; /* the auto margins (in conjunction with a width) center the page */
    	text-align: left; /* this overrides the text-align: center on the body element. */
        background-color: white;
    }
    nav {
        top: 0;
        right: 0;
        width: 100%;
        height: 30px;
        background-color: rgba(var(--clr-primary-d2),1);
        color: white;
    }
    p {
        padding: 0 0 5px 0;
        line-height: 1.6em;
        font-size: 1rem;
    }
    
    section {    
        margin: 0 auto;
        padding: 6px 10px;
    }

        /* Section Billboard */
            section.blbrd {
                margin: 0; 
                height: auto;
            }
    
        /* Section Sponsor Logos */
            section.sponsorlogos {
                margin: 0 auto; 
            }
    
                section.sponsorlogos p {
                    text-align: left;
                    margin-left: 40px;
                }
    
                section.sponsorlogos img {
                    display: inline-block;
                    margin: 0 20px;
                }
    
        /* Section Title card */
            section.titlecard {
                margin: 0 2vw; 
                border-top: 2px solid rgb(var(--clr-primary-d2));
                border-bottom: 2px solid rgb(var(--clr-primary-d2));
           }
    
                section.titlecard p {
                    padding: 0 4vw; 
                }
    
    ul {
        list-style-type: none;
        }
        
/* HEADER */
        .nss-header {
            background-color: rgba(var(--clr-primary),1);
            margin: 0;
            border-bottom: 2px solid rgba(var(--clr-primary),1);

        } 
        .grid_header {
            display: grid;
            grid-template-columns: 150px auto;
        }

        .logoBox {
            text-align: left;
            margin: auto;
            padding: 17px 0 0 20px;
        }
        
        .grid_header .textbox {
            padding-top: 30px;
            text-align: left;
        }

        .header_orchname {
            font-family: headingFont;
            font-size: .9rem;
            font-weight: 900;
            line-height: 1;
            color: rgba(var(--clr-primary-l2),1);
        }
        .header_MDname {
            font-family: bodyFont;
            font-size: .8rem;
            text-transform: none;
            line-height: 1;
            color: rgba(var(--clr-primary-l2),1);
            margin-bottom: 10px;
        }
    
/* NAV */
        .nss-nav {
            text-align: right;
            background-image: transparent;
            font-family: headingFont;
        }
    
        .nss-nav > div, button, a {
            text-transform: uppercase;
            list-style: none; 
            text-shadow: none;
            text-decoration: none;
            color: white;
            font-size: .75rem;
            border: none;
            box-shadow: none;
        }

        .nss-nav li:before {
            content: none;
        }

        .navbar-button {
            background-color: transparent;
            margin: 0;
            border: none;
        }
        .navbar-content {
          display: none;
          position: absolute;
          top: 34px;
          right:0;
          min-width: 120px;
          z-index: 1;
            background-color: rgb(var(--clr-primary));
        }
        .navbar-content a {
          color: white;
          padding: 12px 12px;
          display: block;
        }
        .navbar-content a:hover {
            background-color: rgb(var(--clr-primary));
        }
        .nss-nav:hover .navbar-content {
            display: block;
        }
        .nss-nav:hover .navbar-button {
            background-color: rgb(var(--clr-primary));
        }
    
    /* FOOTER ELEMENTS */

        footer label {
            font-family: headingFont;
            font-weight: 900;
            text-decoration: underline;
            font-size: 1.2rem;
            
        }
    
            .footer_top {
                display: flex;
                flex-flow: row wrap;
                justify-content: space-between;
                text-align: left;
                background: rgb(var(--clr-primary));
                color: white;
            }
                .footer_top > div {
                    padding: 10px 20px;
                }
        
            .footer_bottom {
                text-align: center;
                padding: 6px 0 6px 20px;
                font-size: 12px;
            }
        
        .footer-namebox {
            order: 1;
        }

        .footer-3 {
            order: 3;
        }

        .footer-pageMenu{
            order: 2;
        }

        .footer-NSSname {
            font-size: 2rem;
        	font-family: accentFont;
        }
        .footer-pageMenu-item,
        .footer-socialMedia-item {
            color: white;
        }


.nss-pageTitle {
            background-color: rgb(var(--clr-primary-l1));

}

    .logo-sponsor {
        margin: 0 20px;
        height: 15vw;
        max-height: 100px;
    }
    
/* COLOR PALETTES */
    .colorPalette-dark {
        background-color: rgb(var(--clr-neutral-l1));
    }
    
        .colorPalette-dark .btn-lg {
            text-shadow: 2px 2px 4px rgb(var(--clr-primary-l2));
            border-color: rgb(var(--clr-primary-d2));
            color: rgb(var(--clr-primary-d1));
            background-color: rgb(var(--clr-neutral-l1));
            box-shadow: 2px 2px 4px rgb(var(--clr-primary-d1));
            }

/* EVENT CARD */

    .eventcard {
        display: block;
        margin: 0 20px 10px 20px;
        border: 2px solid rgb(var(--clr-neutral-d1));
        border-radius: var(--border-radius);
    }
        .eventcard .cellDate {
            grid-column: 1 / span 3;
            margin: 0;
            padding: 2px 0 0 8px;
            background-image: linear-gradient(to right, rgba(var(--clr-primary-d2),1), rgba(var(--clr-primary-l2),0.5));
            text-align: left;
            vertical-align: text-top;
            font-size: 125%;
            font-style: normal;
            font-variant: normal;
            line-height: 1.5;
            color: white;
            border-bottom: 2px solid black;
            border-top-left-radius: var(--border-radius);
            border-top-right-radius: var(--border-radius);
        }
        .eventcard .cellLeft {
            padding: 10px 20px 10px 20px;
        }
        .eventcard .cellCenter {
            padding: 10px 20px 10px 20px;
        }
        .eventcard .cellRight {
            text-align: right;
        }
        .eventcard .cellNotes {
            grid-column: 1 / span 3;
            border-bottom-left-radius: var(--border-radius);
            border-bottom-right-radius: var(--border-radius);
            height: auto;
            padding: 10px 20px 10px 20px;
            text-align: center;
            vertical-align: text-top;
        }
            .eventcard .billboard-sm {
                width: 100%;
            }
            .eventcard .event_time {
                font-size: 125%;
            }
            .eventcard .event_venue {
                margin-bottom: 10px;
            }
            .eventcard .event_location {
                margin-left: 15px;
            }
            .eventcard .cellRight img {
                max-width: 40vw;
                display: block;
                margin: auto;
                padding: 10px;
            }

/* PROGRAM LISTING */
    .grid_programListing {
        display: block;
        width: 100%;
        line-height: 1.6;
        padding-left: 2vw;
    }
        .programListing_composer {
            text-shadow: none;
            color: black;
            padding-top: 10px;
        }
        .programListing_composition {
            text-shadow: none;
            color: black;
            padding-left: 4vw;
            padding-top: 0;
            text-transform: none;
        }
        .programListing_movement {
            margin: 0;
            padding-top: 0;
            padding-left: 8vw;
            font-size: .95rem;
            text-shadow: none;
            color: black;
            text-transform: none;
        }
        .programListing_intermsn {
            font-family: headingFont;
            font-size: 1.25rem;
            text-align: center;
            grid-column: 1 / span 2;
            background: var(--light-color);
            border: 1px solid var(--dark-color);
            color: var(--dark-color);
            margin: 10px auto;
        }
        
/* BILLBOARD */
    .blbrd_content {
        margin: 0; 
        height: auto;
    }

    .blbrd_content div {
        margin: 0 auto;
        background: red;
        max-width: 1200px; 
        object-fit: contain;
    }

    .blbrd_content img {
        display: block;
        margin: 0 auto;
        width: 100%;
    }
/* End of BILLBOARD */

.frame {
    width: 90%;
}

@media screen and (min-width: 800px) {
            .navbar-button {
                display: none;
            }
            .navbar-content {
            	display: flex;
            	flex-direction: row;
            	flex-wrap: nowrap;
                top: 0;
                margin: 0;
            	padding: 0;
                background-color: transparent;
            }
            .navbar-content a {             /* Menu Buttons */
            	padding: 4px 5px 4px 5px;
                border-radius: var(--border-radius); 
                color: white;
                background: transparent;
            	margin-left: 2px;
            }
            .nss-nav:hover .navbar-content {
            	display: flex;
            	flex-direction: row;
            	flex-wrap: nowrap;
            }
            .navbar-content hover a,
            .navbar-content a:hover {
            	background: rgb(var(--clr-primary));
                text-shadow: 2px 2px 4px rgb(var(--clr-primary-l2));
            	color: white;
            }
    .eventcard {
        display: grid;
        grid-template-columns: 30% auto 30%;
    }
            .eventcard .cellRight img {
                max-width: 20vw;
                margin: auto 0 auto auto;
            }

    /* PROGRAM LISTING */
        .grid_programListing {
            display: inline-grid;
            grid-template-columns: 45% auto;
        }
            .programListing_movement {
                grid-column: 1 / span 2;
                padding-left: 55%;
            }
            .programListing_composition {
                padding-top: 10px;
            }
}
