html, body{
    font-family: 'Nunito', sans-serif;
    margin:0;
    padding:0;
    background-color:#f0f0f0;
    color: #1B1B1B;
}

body{
    margin-bottom:50px;
}

img{
    max-width: 100%;
}

.page-container{
    max-width: 1600px;
    margin: auto;
    text-align: center;
    width: 80vw;
    box-sizing: border-box;
}

.dark-background{
    background-color:#1B1B1B;
    color:#fff;
}

.column{
    margin: 1.75% 15%;
}

.two-column, .four-column{
    display: flex;
    gap: 2%;
    justify-content: space-between;
    /*margin: 0 5%;*/
    flex-wrap:wrap;
}

.two-column p{
    width:48%;
}

.four-column p {
    width:24%;
}




.site-title{
    color:#E5E5CD;
    margin-top: 1%;
}

h1{
    font-family: 'Baskerville', 'Libre Baskerville', serif;
    font-weight: 300;
    font-size: clamp(30px, 3vw, 60px);
    line-height: 1;
}



h2{
    font-family: 'Baskerville', 'Libre Baskerville', serif;
    font-weight: 300;
    font-size: clamp(24px, 2vw, 42px);
    line-height: 1;
    margin:0 0 3.5% 0;
}

hr{
    width: 160px;
    border: 2px solid #000;
}

.site-title h1{
    font-family: 'Baskerville', 'Libre Baskerville', serif;
    font-size: clamp(36px, 4vw, 72px);
    text-transform: uppercase;
    line-height: 1;
    margin:0;
}

.site-title h2{
    font-weight:200;
    font-size: clamp(20px, 1.8vw, 42px);
    margin-bottom:0;
}

.site-title h3{
    font-size: clamp(16px, 1.1vw, 20px);
    margin-bottom: 0;
    margin-top: 8px;
}


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

h4{
    font-size: clamp(18px, 1.2vw, 20px);
    margin:0;
}



p{
    font-size: clamp(14px, 0.95vw, 18px);
    line-height:1.4;
}

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


.testimonials{
    font-family: 'Baskerville', 'Libre Baskerville', serif;
    font-size: clamp(12px, 0.80vw, 15px);
    line-height:1.6;
    text-align:left;
}



.author-container{
    display:flex;
    gap: 20px;
    justify-content:space-between;
    margin:0 5%;
}

.homepage-hero{
    min-height: 75vh;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.hero-banner img{
    width:100%;
}


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

.secondary-banner{
    padding: 5% 5% 0.25% 5%;
    background-size: cover;
}






.banner a{
    text-decoration:none;
}

a:hover{
}

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:50%;

}

.author-bio h3{
    font-size: clamp(16px, 1.25vw, 24px);
}

.author-bio h3 a{
    text-decoration:none;
}

.author-bio h3 a:hover{
    text-decoration:underline;
}

.author-bio p{
    font-size: clamp(12px, 0.75vw, 16px);
    line-height: 1.1;
    margin:0;
}

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

.button{
    background-color:#E6F7F9;
    color:#000;
    padding:15px;
    font-weight: 600;
    border-radius:1px;
    text-align:center;
    text-decoration:none;
    cursor:pointer;
    transition: background-color 0.5s ease;
    display:inline-block;
    margin-bottom:20px;
}

.button-dark{
    color:#fff;
    background-color:#000;
}



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

.button:hover{
    background-color:#D3FAFF;
}

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

.button-dark:hover{
    background-color: #383838;
}


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

.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{
}

#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: 25px 0 10px 0;
    overflow:hidden;
    max-height:500px;
    transition:all 0.5s ease;
    font-weight:500;
}

#menu a{
    text-transform:uppercase;
    text-decoration:none;
    color:#000;
}

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

#menu a:hover{
    text-decoration:underline;
}

#mobile-menu-toggle{
    padding: 10px 0 5px 0;
    text-align: right;
}


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

.section{
    margin: 5% auto;
}

.section:after{
    /*content: "";*/
    /*width: 160px;*/
    /*height: 3px;*/
    /*background-color: #000;*/
    /*position: relative;*/
    /*transition: background-color 0.8s ease;*/
    /*text-align: center;*/
    /*left: calc(50% - 80px);*/
    /*bottom: calc(3.5vw * -1);*/
    /*display: block;*/
}


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 (orientation: portrait) {
  .homepage-hero {
    min-height: auto;
  }
}



@media screen and (max-width:1023px){
    
    .column{
        margin: 5% 7%;
    }
    
    .page-container{
            width: 95%;
    }

    .container{
        padding:20px 40px;
    }
    
    .author-container{
        flex-direction: column;
        align-items: center;
    }
    
    .two-column, .four-column{
    flex-direction:column;
    }

.two-column p, .four-column p{
    width:100%;
}


    .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;
}


}
