html, body{
    font-family: 'Source Sans Pro', sans-serif;
    margin:0;
    padding:0;
}

img{
    max-width: 100%;
}


h1{
    font-size:3rem;
    line-height: 3.2rem;
    margin:0;
}

#banner-main h1{
    font-size:3.6vw;
    line-height: 3.8vw;
    margin:0;
    transition:font-size 0.8s ease;
    margin: 0 0 35px 0;
}


h2{
    font-size:2.2rem;
    margin:0;
    color:#471aad;
}

h3{
    font-size:1.5rem;
    margin:0 0 10px 0;
}

h4{
    font-size:1.25rem;
    margin: 0 0 10px 0;
    font-weight:600;
}

p{
    /*font-size:1.2rem;*/
    line-height:1.6rem;
}

a{
   color: unset;
   transition:color 0.8s ease;
}

.banner a{
    text-decoration:none;
}

a:hover{
    color: #ff69ff
}

h4 a{
    text-decoration: none;
}


/*LOADING OVERLAY*/
#loading{
    position:fixed;
    width:100%;
    height:100%;
    z-index:999;
    background-image: url("../images/loading-icon.gif");
    background-repeat: no-repeat;
    background-position:center;
    background-size:50px;
}


/*MAIN BANNER STYLES*/

.banner{
    background-color:#5800aa;
    color:#fff;
    padding-bottom: 50px;

}


.banner-text{
    min-height:50vh;
    margin-right:5%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction:column;
    flex-direction:column;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    transition:all 0.8s ease;
}


.banner-img{
    max-width:100vw;
    transition:all 1s ease;
}


.banner-img img{
}

.container{
    max-width:1180px;
    margin:auto;
    padding:40px;
}

.container-one-col{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: flex-start;
    align-items:flex-start;
}

.container-two-col{
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    -webkit-flex-wrap:wrap;
    flex-wrap: wrap;
}

.col-half{
    width:47.5%;

}

.col-half:nth-child(odd){
    margin-right:5%;
}

.author-bio p{
    color: #c6c6c6;
    font-size:0.8rem;
    line-height: 1rem;
    margin:0;
}

.banner-desc{
    font-style: oblique;
    margin:35px 0;
    line-height: 1.4rem;
}

.button{
    color:#480084;
    background-color:#fff;
    padding:15px;
    font-weight: 600;
    border-radius:24px;
    text-align:center;
    margin-right:20px;
    cursor:pointer;
    transition: background-color 0.5s ease;
    display:inline-block;
    margin-bottom:20px;
}

.button-primary{
    background-color: #ed87ff;
}

.button:hover{
    color:#fff;
    background-color:#cb91ff;
}

.button-primary:hover{
    background-color:#ff69ff;
    color:#fff;
}


.item-chapter{
/*  width:98%;
    max-width:550px;*/
    padding:40px 0 4px 0;
    border-bottom:1px solid #e2e2e2;
    cursor:pointer;
}

.item-chapter:after{
    content:"";
    width: 127px;
    height: 4px;
    background-color: #471aad;
    position: absolute;
    transition:background-color 0.8s ease;
}

.item-chapter p{
    color:#606060;
    margin:20px 0;
}

.item-chapter:hover{
    /*border-color:#ff69ff;*/
    color:#471aad;
}

.item-chapter:hover p{
    color:#471aad;
}


.item-chapter:hover:after{
    background-color: #ff69ff;
}

.item-update{
    padding:40px 0 10px 0;
    border-bottom:1px solid #e2e2e2;
}

.item-update h4{
    color:#471aad;
}


/*NAVIGATION STYLES*/
nav{
    border-bottom:1px solid #fff;
}

#menu{
    width:100%;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content:space-between;
    justify-content:space-between;
    margin: 20px 0;
    overflow:hidden;
    max-height:500px;
    transition:all 0.5s ease;
}

#menu a{
    text-transform:uppercase;
    text-decoration:none;
    color:#fff;
    letter-spacing:0.13rem;
    margin: 0 15px 15px 0;
}

#menu a:visited{
    color:#fff;
}

#menu a:hover{
    color:#ff69ff;
}

#mobile-menu-toggle{
    padding: 0 0 5px 0;
    width: 30px;
}


.grey-background{
    background-color:#f4f4f4;
}

.section{
    padding-top:80px;
    padding-bottom:80px;
}

footer{
    padding:65px 0;
    background-color:#333333;
    color:#fff;
min-height:15vh;
}

/*overrides for login screen*/
#grav-login{
    margin: 15rem auto;
    padding: 2rem;
}

#grav-login h1{
margin-bottom:35px;
}

.form-group{
margin:20px auto;
}

.form-label-wrapper{
margin-bottom:5px;
}

.mobile{
    display:none;
}



@media screen and (max-width:1023px){

    .container{
        padding:20px 40px;
    }

    .container-one-col{
        -webkit-flex-wrap:wrap;
        flex-wrap:wrap;
    }


    #banner-main .container-one-col{
        -webkit-flex-wrap:wrap-reverse;
        flex-wrap:wrap-reverse;
    }

    .banner-img{
        width:100%;
        max-width:500px;
        margin: 0 auto 50px auto;
    }

    #banner-main h1{
        font-size:3.5rem;
        line-height:3.7rem;
    }

    #menu{        
        max-height:0;
        display:block;
        margin:0;
    }

    #menu.active{
        max-height:500px;
        transition: all 0.5s ease;
        margin:20px 0;
    }

    #menu a{
        width: 100%;
        margin: 0 0 25px;
        display:block;
    }


    .mobile{
        display:block;
    }



}


@media screen and (max-width:639px){

.col-half{
    width:100%;
    margin:0 0 5% 0;

}

.button{
    font-size:0.97rem;
    margin-right:0;
    padding:15px 10px;
}


}
