@charset "utf-8";
/* CSS Document */

* {
    font-family: 'Open Sans', sans-serif;
}

html, body {
    margin:auto;
    overflow-x:hidden;
    max-width:1600px;
}

img{
    max-width:100% !important;
}

h1 {
    font-size:30px;
}

p {
    font-size:15px;
}

header {
    z-index:1;
    height:75px;
    display:flex;
    justify-content:space-evenly;
    align-items:center;
    position:fixed;
    width:100%;
    background:white;
    box-shadow:0 0 10px 0 black;
    max-width:1600px;
}

header container {
    width:45%;
    display:flex;
    justify-content:space-evenly;
    align-items:center;
}

.blue {
    color:#6886B8;
}

.italic {
    font-style:italic;
    font-size:20px;
}

header img {
    width:70px;
}

/* start navigation */
#toggleNav {
	display: none;
	/*background:#bf2036;*/
	width: 0%;
	height: 0%;
}

#toggleNav a{
	color:black;
	font-size:20px;
}

#toggleNav img {
    width:25px;
    height:25px;
    background:white;
    padding:15px;
    border-radius:20px;
}

#nav{
    width:60%;
}

#nav > a{
	display: none;
}

#nav li{
	position: relative;
	list-style-position:inside;
	list-style-type:none;
}
#nav li a{
	color:#364787;
	display: block;
	text-decoration:none;
}

/* first level */

#nav > ul{
	padding-left:0;
	margin:0;
}
#nav > ul > li{
	margin:0px 10px;
	padding:4px 8px;
	height: 100%;
	display:inline-block;
}
#nav > ul > li > a{
	height: 100%;
	text-align: center;
}
#nav > ul > li:not( :last-child ) > a{
	
}

#nav > ul > li:hover > a,
#nav > ul:not( :hover ) > li.active > a{
	
}

	/* second level */

#nav li ul{
	background-color:#ccc;
	display: none;
	position: absolute;
	top: 100%;
	margin-left:0 !important;
	padding-left:0 !important;
	width:170px;
	text-align:left;
	border-bottom-left-radius:10px;
	border-bottom-right-radius:10px;
}
#nav li:hover ul{
	display: block;
	left: 0;
	right: 0;
}
#nav li:not( :first-child ):hover ul{
	left: -1px;
}
#nav li ul a{
	color:#000;
	padding: 0.75em; /* 15 (20) */
}
/* end navigation */

main {
    margin-top:75px; /* to offset nav */
}

.hero {
    background-image: url('../images/reunion.jpg');
    background-size:cover;
    background-repeat:no-repeat;
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
    grid-template-rows:55% 1fr;
}

.hero container {
    margin:5% 2vw 5%;
    align-self:center;
    text-align:center;
}

.hero img {
    width:90%;
    justify-self:center;
    margin:5% 10%;
}

.sub-hero {
    background-size:cover;
    background-repeat:no-repeat;
    height:27.5vw;
}

.social-media {
    height:30px;
}

#about {
    background-image: url('../images/staff.jpeg');
}

.white {
    color:white;
    background:rgba(0,0,0,0.6);
    justify-self:center;
}

.big{
    font-size:30px;
    font-weight:bold;
}

.hero .white {
    padding:0 10%;
}

.button {
    border:2px solid white;
    font-size:20px;
    padding:2.5% 5%;
    color:white;
    text-decoration:none;
}

.downarrow {
    height:50px;
    align-self:self-end;
    margin-bottom:0 !important;
}

.blue-box {
    background-color:#6886B8;
    text-align:center;
    height:100%;
    width:30%;
    margin:5% 0;
}

.blue-box h3 {
    font-size:17.5px;
    margin:5% 0;
}

.center {
    text-align:center;
    padding:2.5% 15% 2.5%;
}

.center p {
    line-height:30px;
    margin:5% 0 7.5%;
}

.graphic {
    background-image:url('../images/edge-background.png');
    background-repeat:no-repeat;
    background-size:cover;
}

.four-column-grid {
    width:110%;
    margin-left:-5%;
    display:grid;
    grid-template-columns:1fr 1fr 1fr 1fr;
}

.three-column-grid {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
}

.cell {
    display:grid;
    grid-template-rows:1fr 1fr;
    text-align:-webkit-center;
    color:white;
    text-decoration:none;
}

.cell img {
    width:100px;
}

.testimonials p {
    font-size:17.5px;
}

.float-right {
    float:right;
    margin-left:10%;
}

.float-right h2, .float-right h3 {
    margin:5% 0;
}

footer {
    bottom:0;
    height:225px;
    background:#364787;
    position:relative;
    width:100%;
}

.footer-grid {
    display:grid;
    grid-template-columns:1fr 2fr 3fr;
    align-items:baseline;
    margin:0 5%;
}

.footer-grid a, .copyright a {
    color:white;
    text-decoration:none;
}

#footer-nav ul {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    list-style:none;
}

#footer-nav li ul {
    display:grid;
    grid-template-columns:1fr;
    padding:15px 0;
}

#nasmm {
    background-color:white;
    height:75px;
    padding:1.5% 1.5% 0 0;
    position:absolute;
    bottom:0;
}

.copyright {
    width:100%;
    text-align:center;
}

@media only screen and (max-width:1050px) {
    h1 {
        font-size:3vw;
    }
    
    #nav > ul > li {
        margin:0 1vw;
    }
}

@media only screen and (max-width:800px) {
    h1 {
        font-size:20px;
    }
    
    header container{
        width:auto;
    }
    
    /* -------------------- Start Navigation -------------------- */
	#toggleNav{
		position:fixed;
		width:95%;
		height:3%;
		display:flex;
		z-index:2;
		justify-content:flex-end;
		left:2%;
		top:15px;
	}
	
	#nav{
        position: fixed;
        display:none;
        margin:auto;
        right:30%;
        width:40%;
        height:200px;
        top:20px;
    }
    
	#nav:not( :target ) > a:first-of-type,
	#nav:target > a:last-of-type{
		display: block;
		width:100%;
		text-align:center;
		color:#000;
		text-decoration:none;
		font-size:20px;
		padding:5px 0px;
	}
	
	#nav a{
		font-size:18px;	
	}
 
    /* first level */
 
    #nav > ul{
        position: absolute;
        left: 0;
        right: 0;
        height:fit-content;
		background-color:#bbb;
		margin-top:50px !important;
		padding:10px;
		flex-direction:column;
		border-radius:10px;
    }
    #nav > ul > p {
        display:none;
    }
	#nav:target > ul{
		display: block;
	}
	#nav > ul > li{
		width: 100%;
		float: none;
		height:initial;
		margin:0px !important;
		padding:4px 0px !important;
	}
	#nav > ul > li > a {
	    width:100%;
	    color:white;
	}
	#nav > ul > li > img {
	    display:none;
	}

    /* second level */
 
    #nav li ul{
        position: static;
		width:98%;
		margin:0 !important;
		text-align:center;
		padding:0 !important;
		flex-direction:column;
    }
	#nav li ul a{
		padding:0;
		margin:0.25em 0;
	}
	/*End Navigation*/
	
	.mobile-hidden {
	    display:none;
	}
	
	.hero {
	/*    text-align:center;*/
	/*    grid-template-columns:1fr;*/
	/*    grid-template-rows:275px 150px 200px;*/
	    grid-template-rows:1fr 1fr;
	/*    grid-template-areas: "space"*/
	/*                         "box"*/
	/*                         "logo"*/
	/*                         "button";*/
 /*       align-items:center;*/
 /*       justify-items:center;*/
        background-position:center;
 /*       height:600px;*/
 /*       margin-bottom:100px;*/
	}
	
	/*.hero p {*/
	/*    grid-area: space;*/
	/*}*/
	
	/*.hero img {*/
	/*    grid-area: logo;*/
	/*    width:200px;*/
	/*    margin:-2% 10%;*/
	/*}*/
	
	.hero container {
	    visibility:hidden;
	/*    color:black;*/
	/*    grid-area: button;*/
	/*    margin:0 20% 0;*/
	}
	
	/*.hero container a {*/
	/*    color:black;*/
	/*    border:2px solid black;*/
	/*}*/
	
	/*.hero .blue-box {*/
	/*    grid-area: box;*/
	/*    padding:2.5%;*/
	/*}*/
	
	.float-right {
        float:none;
        margin-left:0;
    }
	
	footer {
	    height:unset;
	}
	
	.four-column-grid, .footer-grid {
	    grid-template-columns:1fr 1fr;
	}
	
	.three-column-grid {
	    grid-template-columns:1fr;
	}
	
	.footer-grid {
	    text-align:center;
	}
	
	#footer-nav ul {
	    width:200%;
	    padding:0;
	}
	
	#footer-nav li ul {
	    width:100%;
	}
	
	.copyright {
	    width:100%;
	    text-align:center;
	    padding-bottom:2.5%;
	}
}

@media only screen and (max-width:500px) {
    header container h2 {
        display:none;
    }
    
    /*.hero {*/
    /*    background-position-x:-325px;*/
    /*    margin-bottom:150px;*/
    /*}*/
    
    .hero img {
        width:100%;
    }
    
    .four-column-grid, .three-column-grid, .footer-grid, #footer-nav ul {
        grid-template-columns:1fr;
    }
    
    #footer-nav ul {
        width:100%;
    }
    
    #footer-nav li {
        margin:2.5%;
    }
}