/* default styling choices */
body {
    margin: 0;
    padding: 0;
    background: white;
    color: #cdcdcd;
    font-family: 'Lato', sans-serif;
    width: 100vw;
    height: 100vh;
    overflow-x: hidden;
}


/* background image for start page; background img needed for text overlay */

.start_page {
    width: 100vw;
    height: 100vh;
    position: relative;
    background: url(../img/NC-Fairbanks.jpg) center center no-repeat fixed;
    background-size: cover;
    overflow: hidden;
    position: absolute;
    top: 0;

    /* fade in for start page */
    animation: fadeInAnimation ease 7s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
}

@keyframes fadeInAnimation {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}




/* styling of link on start page*/
.start_page a:hover {
    color: coral;
}

.start_page a {
    color: white;
}



/* start page title styling; flex to have responsiveness so the title is always centered and the "read more" link is always aligned to the right */

.title {
    display: flex;
    justify-content: center;
    align-items: center;
    color: white;
    font-size: 1.5em;
    width: 100vw;
    position: fixed;
    top: 44%;
    height: 15vh;
}

.read_more {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-end;
    width: 87vw;
    font-size: 1.25em;
    color: white;
    margin-right: 20vw;
    position: fixed;
    bottom: 10%;

}


/* horizontal line across start page*/

.line {
    height: 3px;
    width: 74vw;
    background-color: white;
}


/* Uncovered logo styling*/
nav img {
    float: right;
    width: 200px;
    margin-top: 35px;
    margin-right: 35px;
}

/* hamburger menu code by Erik Terwin; codepen; slight styling modifications with positioning and colors by sofia */

#menuToggle {
    display: block;
    position: relative;
    top: 40px;
    left: 35px;
    z-index: 1;
    -webkit-user-select: none;
    user-select: none;
}

#menuToggle a {
    text-decoration: none;
    color: #232323;

    transition: color 0.3s ease;
}

#menuToggle a:hover {
    color: coral;
}

#menuToggle input {
    display: block;
    width: 40px;
    height: 32px;
    position: absolute;
    top: -7px;
    left: -5px;

    cursor: pointer;

    opacity: 0;
    /* hide this */
    z-index: 2;
    /* and place it over the hamburger */

    -webkit-touch-callout: none;
}

/*
 * Just a quick hamburger
 */
#menuToggle span {
    display: block;
    width: 33px;
    height: 4px;
    margin-bottom: 5px;
    position: relative;
    background: #cdcdcd;
    border-radius: 3px;

    z-index: 1;

    transform-origin: 4px 0px;

    transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0),
        background 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0),
        opacity 0.55s ease;
}

#menuToggle span:first-child {
    transform-origin: 0% 0%;
}

#menuToggle span:nth-last-child(2) {
    transform-origin: 0% 100%;
}

/* 
 * Transform all the slices of hamburger
 * into a crossmark.
 */
#menuToggle input:checked ~ span {
    opacity: 1;
    transform: rotate(45deg) translate(-2px, -1px);
    background: #232323;
}

/*
 * But let's hide the middle one.
 */
#menuToggle input:checked ~ span:nth-last-child(3) {
    opacity: 0;
    transform: rotate(0deg) scale(0.2, 0.2);
}

/*
 * the last one should go the other direction
 */
#menuToggle input:checked ~ span:nth-last-child(2) {
    transform: rotate(-45deg) translate(0, -1px);
}

/*
 * Make this absolute positioned
 * at the top left of the screen
 */
#menu {
    position: absolute;
    width: 300px;
    margin: -100px 0 0 -50px;
    padding: 50px;
    padding-top: 125px;

    background: #ededed;
    list-style-type: none;
    -webkit-font-smoothing: antialiased;
    /* to stop flickering of text in safari */

    transform-origin: 0% 0%;
    transform: translate(-100%, 0);

    transition: transform 0.5s cubic-bezier(0.77, 0.2, 0.05, 1.0);
}

#menu li {
    padding: 10px 0;
    font-size: 22px;
}

/*
 * And let's slide it in from the left
 */
#menuToggle input:checked ~ ul {
    transform: none;
}


/* desktop view; all itmems evenly spaced and floated to left*/
.desktop {
    display: block;
}

.desktop a {
    float: left;
    margin-top: 40px;
    text-decoration: none;
    margin-left: 2%;
    font-size: 1em;
    color: black;
}

/* desktop menu links turn coral when hovered over*/

.desktop a:hover,
.desktop a:focus,
.desktop a:active {
    color: coral;
}

/*puts links in desktop nav bar in a group so they can be evenly spaced with flex*/
.bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-right: 2%;
    padding-left: 1%;

}

/* keeps desktop view hidden, and mobile view visible for tablets and phones for nav bar; also hides desktop view for mosaic on home page*/
.desktop {
    display: none;
    visibility: hidden;
}

.mobile {
    display: block;
    visibility: visible;
}

.mosaic_desktop {
    display: none;
    visibility: hidden;
}

.mosaic_mobile {
    display: block;
    visibility: visible;
}



/* banner responsive background image*/

.banner {
    margin-top: 75px;
    width: 100vw;
    height: 50vh;
    position: relative;
    background: url(../img/NC-Fairbanks4_Jordan%20Lake%20Sunrise.jpg) center center no-repeat fixed;
    background-size: cover;
}



/* aligns title and intro paragraph on home page to the left in mobile; changes to center in desktop   */

.intro {
    width: 100vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-left: 10%;
    margin-top: 5%;
}


/* styling for intro text and green line on home page*/
.intro p {
    font-size: 1.2em;
    color: black;
    width: 75%;
}

.intro h1 {
    color: slategray;
}

.green_line {
    height: 4px;
    width: 30vw;
    border-radius: 5pt;
    background-color: yellowgreen;
}


/* styling for home page; "mosaic" of stories and images start in a column*/

.mosaic_mobile {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    margin-top: 5vh;
}

/* sizing for images and boxes that contain story titles*/
.img_box {
    width: 100vw;
    height: 50vh;
}

.img {
    width: 100%;
    height: 100%;
}

/* background images for the mosaics; needed background image so the photo was responsive when shrinked or stretched*/

.hog {
    background: url(../img/hogpoop7.jpg) top;
    background-size: cover;
}

.water {
    background: url(../img/GenX-002.jpg) center;
    background-size: cover;
}

.bee {
    background: url(../img/Bees-2.jpg) top;
    background-size: cover;
}

.box {
    width: 100vw;
    height: 30vh;
}

/* text styling for story titles in mosaic box*/

.text {
    color: white;
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.text h3 {
    font-size: 1em;
    text-align: center;
}

.text p {
    width: 75%;
}


/* styling for the box with the title name "read more link" changes from white to black when hovered over*/

.text a {
    text-decoration: none;
    color: white;
    text-align: center;
}


.text a:hover {
    color: black;
}

.text a {
    border-style: solid;
    border-radius: 5pt;
    padding-left: 3%;
    padding-right: 3%;
    height: 15%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* changes color of boxes in mosaic*/

.coral {
    background-color: coral;
}

.grey {
    background-color: slategray;
}

.yellow {
    background-color: orange;
}


/* css styling for banner images on every page, again needed background image for text overlay*/

.banner_hog {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/hogpoop4.jpg);
    background-position: center top;
    background-size: cover;
    color: white;
}


.banner_water {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/GenX-010.jpg);
    background-position: center;
    background-size: cover;
    color: white;
}

.banner_bee {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/Bees-4.jpg);
    background-position: center top;
    background-size: cover;
    color: white;
}

.banner_about {
    display: flex;
    flex-direction: column;
    justify-content: center;
    background: linear-gradient(rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.5)), url(../img/NC-Fairbanks2.jpg);
    background-position: center center;
    background-size: cover;
    color: white;
}

/* styling and positioning for white line and text that lays on top of each banner photo*/

.banner .line {
    width: 40vw;
    height: 5px;
    border-radius: 5pt;
    background-color: white;
    margin-left: 5%;

}

.banner h1 {
    font-size: 2.5em;
    width: 50%;
    margin-bottom: 180px;
    margin-left: 5%;
}


/* styling for headline, subtitle, and green line under every banner photo (except home page; used flex to keep everything centered on the page*/

.headline {
    width: 100vw;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    margin-top: 2%;
    margin-left: 5%;
    margin-right: 10%;
    color: salmon;
}

.headline h2 {
    margin-right: 20%;
    margin-left: 1%;
    width: 70%;
}

.vertical_line {
    background-color: yellowgreen;
    height: 15vh;
    width: 5pt;
    border-radius: 5pt;
}

.vertical_line_head {
    background-color: yellowgreen;
    height: 25vh;
    width: 7pt;
    border-radius: 5pt;
}



.subtitle {
    margin-left: 10%;
    margin-right: 10%;
    color: black;
}

/* styling for body copy centered on the page*/

.content {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    margin-left: 10%;
    margin-right: 10%;
    color: black;
}

/* styling for infographic centered on the page*/
.infographic {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 100%;
}

.infographic img {
    width: 80vw;
    margin-left: 10%;
    margin-right: 10%;
}

/* styling for video and caption centered on the page*/
.video {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-left: 10%;
    margin-right: 10%;
}

.video a {
    color: coral;
}

.video a:hover {
    color: slategray;
}

.video a:visited {
    color: orange;
}

/* styling for pull quote with light margin*/

.quote {
    width: 100vw;
    display: flex;
    justify-content: center;
    align-items: center;
    color: salmon;
    margin-left: 3%;
}

.quote h3 {
    margin-left: 1%;
    width: 74%;
}

/* styling for photo centered on the page*/
.photo img {
    width: 80vw;
    margin-left: 10%;
    margin-right: 10%;
    display: block;
}

/* styling for footer, flex end and flex start to have links on opposite ends of the page*/

.footer {
    width: 100vw;
    display: flex;
    justify-content: center;
}

.left {
    float: left;
    width: 44vw;
    display: flex;
    justify-content: flex-start;
    margin: 2%;

}

.right {
    float: right;
    width: 44vw;
    display: flex;
    justify-content: flex-end;
    margin: 2%;
}

/* styling for links for footer, they go from black to coral*/
a {
    text-decoration: none;
}

footer a:hover {
    color: coral;
}

footer a {
    color: black
}







@media (min-width: 800px) {

    /* keeps desktop view visible, and mobile view hidden for the desktop; applies to both nav bar and mosaic on home page*/
    .mobile {
        display: none;
        visibility: hidden;
    }

    .desktop {
        display: block;
        visibility: visible;
    }

    .mosaic_mobile {
        display: none;
        visibility: hidden;
    }

    .mosaic_desktop {
        display: block;
        visibility: visible;
    }

    .mosaic_desktop {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        margin-top: 5vh;
    }

    /* changes sizing for boxes on home page mosaic*/

    .img_box {
        width: 40vw;
        height: 40vh;
    }

    .box {
        width: 40vw;
        height: 40vh;
    }

    /* changes margin for banner to ensure enough white space for navigation; went from small collapsable menu to big links */
    .banner {
        margin-top: 45px;
    }

    /* changes font size of mosaic text on home page*/
    .text h3 {
        font-size: 1.2em;
    }
    
    /* changes size of green line in headline under banner photo*/

    .vertical_line_head {
        background-color: yellowgreen;
        height: 10vh;
        width: 6pt;
        border-radius: 5pt;
    }

}

@media (min-width: 905px) {

    /* changes margin of logo img when screen is larger*/
    nav img {
        margin-top: 35px;
        margin-right: 35px;
    }
    
        /* changes sizing of links in nav bar to be bigger and centered appropriately*/

    .desktop a {
        margin-top: 38px;
        margin-left: 2%;
        font-size: 1.1em;
    }

    .bar {
        padding-right: 2%;
        padding-left: 1%;

    }
    
        /* centers items in intro paraphaph on homepage when desktop*/

    .intro {
        width: 100vw;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin-top: 5%;
        margin-left: 0%;
    }

    /*margin for intro information*/
    .intro p {
        font-size: 1.2em;
        color: black;
        width: 50%;
    }

    
        /* changes margins of desktop to be larger for all main story content*/

    .headline {
        margin-left: 15%;
        margin-right: 20%;
    }

    .headline h2 {
        margin-right: 20%;
    }



    .subtitle {
        margin-left: 20%;
        margin-right: 20%;
    }

    .content {
        margin-left: 20%;
        margin-right: 20%;
    }


    .infographic img {
        width: 60vw;
        margin-left: 20%;
        margin-right: 20%;
    }

    .video {
        margin-left: 20%;
        margin-right: 20%;
    }


    .photo img {
        width: 60vw;
        margin-left: 20%;
        margin-right: 20%;
    }

    .quote {
        width: 100vw;
        display: flex;
        justify-content: center;
        align-items: center;
        color: salmon;
    }

    .quote h3 {
        margin-left: 1%;
        margin-right: 1%;
        width: 54%;
    }


}

@media (min-width: 1130px) {

    /* changes fonts and margins on nav bar so it is responsive and smooth*/
    nav img {
        float: right;
        width: 250px;
        margin-top: 35px;
        margin-right: 35px;
    }

    .desktop a {
        margin-top: 40px;
        margin-left: 3%;
        font-size: 1.4em;
    }

    .bar {
        padding-right: 3%;
        padding-left: 1%;
    }

}
