*{
    margin: 0;
    padding: 0; 
}
/*The css should generally fall into the same order as the html from top to bottom*/
/*These html and body tags allow us to detect the height of the browser*/
html, body {
    height: 100%;
    font-family: arial;
}
/*Variables for Document*/
:root{
    --royalpurple: #522E91;
    --gracefulgreen: #2fb52f;
    --floralgreen: #b6ffb6;
    --floralpink: #ffb3ea;
}

/*fonts used currently 
 font-family: aaux-next, sans-serif;

 font-family: adage-script-jf, sans-serif;



*/

#container{
    min-height: 100%;  
}

#main {
    /*Gives us a scroll bar*/
    overflow: auto;
    padding-bottom: 150px;
    transition: height 1.5s;
    
    
}

/*visualizing the grid 
.grid div:nth-child(even) {
    background-color:#63208A;

}

*/
/*css grid styling*/
.grid{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 75px 1fr;
}

.loading_screen{
    grid-row: 1/3;
    grid-column: 1/4;
    background-color: #ffffff;
    opacity: 1;
    display: grid;
    grid-template-rows:  80px 550px 30px 160px;
    grid-template-columns: 1fr;
    z-index: 3;
    transition: opacity 1s;
}

.load_img{
    width: 550px;
    grid-row: 2/3;
    grid-column: 1/2;
    justify-self: center;
    opacity: 0;
    align-self: start;
    animation-fill-mode: both;
    animation-duration: 1.0s;
    animation-name: loadIn;
    animation-delay: 1s;
    transition: opacity 1s;
}


.load_title{
    font-style: aaux-next, sans-serif;
    font-weight: 800;
    font-style: normal;
    grid-row: 3/4;
    grid-column: 1/2;
    justify-self: center;
    align-self: center;
    text-align: center;
    color: var(--royalpurple);
    opacity: 0;
    transition: margin-left .5s, font-size 1.5s, opacity 1s;
    animation-fill-mode: both;
    animation-duration: 1.0s;
    animation-name: loadIn;
    animation-delay: .9s;
}


.load_p{
    font-family: aaux-next, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 26px;
    text-align: center;
    grid-row: 4/5;
    grid-column: 1/2;
    opacity: 0;
    animation-fill-mode: both;
    animation-duration: 1.0s;
    animation-name: loadIn;
    animation-delay: .7s;
    transition: opacity;
}

@keyframes loadIn {
    0% {
        opacity: 0;
        margin-top: -250px;

    }

    100% {
        opacity: 1;
        margin-top: 0px;
    }
}


@keyframes loadOut {
    0%{
    opacity: 1;
    margin-top: 0;

    } 
    
    100%{
        opacity: 0;
        margin-top: -250px;
    

    }


}


.header_section{
    grid-row: 1/2;
    grid-column: 1/4;
    display: grid;
    grid-template-columns: 150px 1fr;
    grid-template-rows: 1fr;
}

.logo{
    grid-column: 1/2;
    grid-row: 1/2;
    width: 130px;
    transition: width 1.5s;
    padding: 20px;
}

.header{
    color: var(--royalpurple);
    margin-top: 10px;
    grid-column: 1/3;
    grid-row: 1/2;
    text-align: center;
    font-family: aaux-next, sans-serif;
    font-weight: 750;
    font-style: normal;
    font-size: 70px;
    letter-spacing: 1px;
    margin-top: 15px;
    transform: scale(1, .9);
    transition: font-size 1.5s, margin-left 1.5s;
}

.home{
    grid-row: 2/3;
    grid-column: 1/4;
    justify-self: center;
    align-self: center;
    display: grid;
    grid-template-rows: 1fr 650px;
    grid-template-columns: 1fr;
    
}

.menu{
    grid-row: 1/2;
    grid-column: 1/2;
    display: grid;
    /*The .menu class needs a height to represent the background image. Adjust for each media query! */
    height: 650px;
    justify-self: center;
    align-self: center;
    grid-template-rows: 1fr 1fr 200px;
    grid-template-columns: 1fr 1fr;
    background-image: url(/Images/Home_Background.svg);
    background-position: center; /* Center the image */
    background-repeat: no-repeat;
    background-size: 120% 85%;
    transition: background-size 1.5s, background-position 1.5s, height 1.5s;
}

.homeTitle {
    grid-row: 1/2 ;
    grid-column: 1/3;
    align-self: top;
    justify-self: center;
    /*Width Keeps the Background Image Visible*/
    width: 1100px;
    margin-top: 30px;

    transition: margin-top 1.5s;
}

.homeTitle h1{
    grid-row: 1/2;
    grid-column: 1/2;
    text-align: center;
    margin-top: 65px;
    font-size: 45px;
    font-family: aaux-next, sans-serif;
    font-weight: 450;
    font-style: italic;
    color: #ffffff;
    transition: font-size 1.5s, margin-top 1.5s;

}   

.services{
    margin-top: -70px;
    grid-row: 2/3;
    grid-column: 1/3;
    justify-self: center;
    align-self: center;
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 100px 100px 100px;
    background-image: url(/Images/Link_Panel.svg);
    background-position: center;
    background-size: 1100px auto;
    background-repeat: no-repeat;
    width: 1150px;
    transition: width 1.5s, background-size 1.5s, margin-top 1.5s, background-position 1.5s;
}

.services a{
    margin-top: 8px;
    font-size: 65px;
    font-family: aaux-next, sans-serif;
    font-weight: 800;
    font-style: normal;
    text-align: center;
    color: var(--royalpurple);
    text-decoration: none;
}

.services a:hover{
    color: var(--gracefulgreen);
    opacity: .6;

}

.org_dev{
    grid-row: 1/2;
    grid-column: 1/2;
    align-self: center;
    justify-self: center;
   
    
}

.wor_dev{
    grid-row: 2/3;
    grid-column: 1/2;
    align-self: center;
    justify-self: center;
 
}
.eco_inc{
    grid-row: 3/4;
    grid-column: 1/2;
    align-self: center;
    justify-self: center;
   

}


.artLink{
    color: var(--royalpurple);
    text-decoration-color: #ffffff;
    font-family: aaux-next, sans-serif;
    margin-top: 30px;
    margin-right: 150px;
    font-size: 55px;
    font-weight: 800;
    grid-row: 3/4;
    grid-column: 1/2;
    justify-self: end;
    transition: margin-top 1.5s, font-size 1.5s;

}

.artLink:hover{
    color: var(--gracefulgreen);

}
.histLink{
    color: var(--royalpurple);
    text-decoration-color: #ffffff;
    font-family: aaux-next, sans-serif;
    margin-top: 30px;
    margin-left: 150px;
    font-size: 55px;
    font-weight: 800;
    grid-row: 3/4;
    grid-column: 2/3;
    justify-self: start;
    transition: margin-top 1.5s, font-size 1.5s;
}

.histLink:hover{
    color: var(--gracefulgreen);
}

.details{
    grid-row: 2/3;
    grid-column: 1/2;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
    grid-template-rows: 125px 300px 160px;

}

.details h2{
    grid-row: 1/2;
    grid-column: 1/6;
    justify-self: center;
    align-self: start;
    text-align: center;
    font-size: 40px;
    transition: font-size 1.5s;
}

.icons{
    grid-row: 2/3;
    grid-column: 1/6;
    justify-self: center;
    align-self: center;
    display: grid;
    gap: 40px;
    grid-template-rows: 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
}



.iconZero{
    grid-row: 1/2;
    grid-column: 1/3;
    justify-self: center;
    align-self: center;
    transition: width 1.5s;

}

.iconZero img{
    width: 200px;

}

.iconNetZero{
    grid-row: 1/2;
    grid-column: 2/4;
    width: 150px;
    justify-self: center;
    align-self: center;
    transition: width 1.5s;

}

.iconOne{
    grid-row: 2/3;
    grid-column: 1/2;
    justify-self: center;
    align-self: start;
    transition: width 1.5s;

}

.iconOne img{
    width: 200px;
}

.iconTwo{
    grid-row: 2/3;
    grid-column: 2/3;
    transition: width 1.5s;
    justify-self: center;
    align-self: start;

}

.iconTwo img{
    width: 250px;
}
.iconThree{
    grid-row: 2/3;
    grid-column: 3/4;
    width: 120px;
    transition: width 1.5s;
    justify-self: center;
    align-self: start;

}

.iconThree img{
    width: 120px;
}

.details p{
    grid-row: 3/4;
    grid-column: 1/6;
    align-self: center;
    justify-self: center;
    width: 80%;
    font-size: 36px;
    margin-top: -20px;
    padding-top: 70px;
    text-align: center;
    transition: font-size 1.5s;

}








    


#footer {
    position: relative;
    /*sets the height of the footer*/
    height: 150px;
    /*This margin pushes the footer back up to being visible. Should be the same value as the height above */
    margin-top:-150px;
    clear: both;
}

.foot_grid{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 60px 1fr 20px;
}

.foot_grid h6{
    grid-row: 1/2;
    grid-column: 1/4;
    justify-self: center;
    align-self: center;
    font-size: 32px;

    font-family: adage-script-jf, sans-serif;
    font-weight: 600;
    font-style: normal;
    text-align: center;
}


.foot_social{
    padding-right: 12px;
    justify-self: center;
    grid-column: 1/4;
    grid-row: 2/3;
    
}


.Linked{
    display: inline-block;
    background-image: url(/Images/Icons/LinkedIn100.png);
    background-position: center;
    background-size: 75px 75px;
    background-repeat: no-repeat;
    width: 75px;
    height: 75px;
    margin-left: 30px;
    transition: background-size 2s ease-out;
}

.Linked:hover{
    background-size: 85px 85px;
}

.Insta{
    display: inline-block;
    background-image: url(/Images/Icons/Instagram100.png);
    background-size: 75px 75px;
    background-repeat: no-repeat;
    width: 75px;
    height: 75px;
    margin-right: 10px;
    transition: background-size 2s ease-out;
}

.Insta:hover{
    background-size: 95px 95px;
}

.Facebook{
    display: inline-block;
    background-image: url(/Images/Icons/Facebook100.png);
    background-size: 55px 55px;
    background-repeat: no-repeat;
    width: 55px;
    height: 55px;
    margin-bottom: 10px;
    margin-right: 30px;
    transition: background-size 2s ease-out;
    

}

.Facebook:hover{
    background-size: 85px 85px;
}

.contact{
    grid-column: 1/4;
    grid-row: 3/4;
    font-size: 16px;
    font-weight: 350;
    justify-self: center;
}

.contact p{
    text-align: center;
    font-family: aaux-next, sans-serif;
    font-weight: 400;
    font-style: normal;

}




/*Media Queries Begin Here! */
/*Home Page Media Queries*/

@media screen and (max-width:1350px){



    .logo{
        width: 130px;
    }

    .header{
        font-size: 60px;
    }

    
    .home{
       
        grid-template-rows: 500px 560px;
        
    }

    .menu{
        height: 500px;
        grid-template-rows: 200px 200px 100px;
        background-position: center 60px;
        background-size: 130% 90%;
    }


    .homeTitle{
        background-size: 800px 95px;
        width: 850px;
    }

    .homeTitle h1{
        font-size: 38px;
        margin-top: 45px;
    }

    .services{
        width:1060px;
        background-size: 1010px auto;

    }

    .services a{
        font-size: 55px;
    }

    .artLink{
        font-size: 45px;
    }

    .histLink{
        font-size: 45px;
    }

    .details{
        grid-template-rows: 180px 200px 160px;
    }

    .details h2{
        font-size: 30px;

    }

    .details p{
        font-size: 30px;
    }


}


/*\\\\\\\\\\\\\\
\\\\\\\\
\\\ 
*/

@media screen and (max-width: 1115px){



    .grid{
        grid-template-rows: 75px 1fr;
    }

    .header{
        font-size: 50px;
        
    }

    .logo{
        width: 105px;
        padding: 10px;

        
    }

    .homeTitle{
        width: 700px;
        background-size: 650px 90px;
        margin-top: 0px;
    }

    .homeTitle h1{
        margin-top: 50px;
        font-size: 36px;

    }

    .home{
        grid-template-rows: 520px 520px;
    }

    .menu{
        grid-template-rows: 130px 250px 100px;
        background-position: center 30px;
        background-size: 130% 90%;

    }

    .services{
        width: 850px;
        background-size: 850px auto;
        background-position: center top 4px;
        grid-template-rows: 80px 80px 80px;

    }

    .services a{
        font-size: 46px;
        margin-top: 15px;
        
    }

    .artLink{
        font-size: 35px;
    }

    .histLink{
        font-size: 35px;
    }

    .details{
        grid-template-rows: 150px 200px 120px;
    }

    .details h2{
        font-size: 25px;

    }

    .details p{
        font-size: 22px;
    }




}

/*
///////////
////////////////
///////////
/////////
*/
@media screen and (max-width: 950px){

    .header{
        font-size: 40px;
    }

    .logo{
        width: 95px;
    }
    
}



/*
//////////////
//////////
*/
@media screen and (max-width: 840px){


    

    .header{
        font-size: 32px;
        margin-top: 20px;
    }

    .logo{
        width: 70px;
    }


    .home{
        grid-template-rows: 380px 550px;
    }



    .homeTitle{
        width: 550px;
        background-size: 500px 90px;
        margin-top: 0px;
    }

    .homeTitle h1{
        margin-top: 50px;
        font-size: 30px;

    }


    .menu{
        grid-template-rows: 90px 230px 70px;
        background-position: top;
        width: 800px;
        overflow: hidden;
        height: 460px;
        background-size: 89% 90%;
        margin-top: 50px;

    }

    .services{
        width: 100%;
        background-size: 700px 300px;
        background-position: center;
        grid-template-rows: 75px 60px 80px;
        margin-top: -40px;

    }

    .services a{
        font-size: 40px;
        margin-top: 15px;
        
    }


    .artLink{
        margin-right: 50px;
        margin-top: -20px;
    }

    .histLink{
        margin-left: 50px;
        margin-top: -20px;
    }
  

    .details{
        grid-template-rows: 190px 180px 40px;
    }

    .iconZero img{
        width: 180px;
    }
    .iconNetZero img{
        width: 180px;
    }


    .iconOne img{
        width: 180px;
    }

    .iconTwo img{
        width: 180px;
    }

    .iconThree img{
        width: 120px;
    }

}

@media screen and (max-width: 680px){
    .logo{
        width: 60px;
        padding: 5px;
    }
    
    .header{
        font-size: 26px ;
        margin-left: 45px;
    }

    .home{
        grid-template-rows: 330px 520px;
    }

    .menu{
        grid-template-rows: 55px 200px 70px;
        width: 550px;
        height: 330px;
        margin-top: 0px;
    }

    .homeTitle{
        width: 500px;
        background-size: auto 50px;
    }

    .homeTitle h1{

        font-size: 26px;
        margin-top: 20px;
    }

    .services{
        background-image: url(/Images/Link_Panel_Resize.svg);
        background-size: 480px auto;
        grid-template-rows: 65px 65px 65px;
        margin-top: -35px;
    }

    .services a{
        font-size: 26px;
    }

    .org_dev{
        margin-top: 5px;
    }

    .wor_dev{
        margin-bottom: 20px;
    }

    .eco_inc{
        margin-bottom: 30px;
    }

    .details{
        grid-template-rows: 160px 150px 50px;
    }

    .histLink{
        font-size: 30px;
        margin-top: -30px;

    }

    .iconZero img{
        width: 140px;
    }
    .iconNetZero img{
        width: 140px;
    }

    .iconOne img{
        width: 140px;
    }

    
    .iconTwo img{
        width: 140px;
    }

    .iconThree img{
        width: 90px;
    }

    
}

@media screen and (max-width: 500px){


    .header{
        justify-self: center;
        width: 300px;
        font-size: 28px;
        margin-top: 10px;
        margin-left: 25px;
    }

    .logo{
        width: 70px;
        padding: 10px;
    }

    .home{
       
        grid-template-rows: 280px 550px;
        
    }

    .menu{
        grid-template-rows: 60px 185px 70px;
        background-position: top;
        width: 500px;
        background-size: 100% 90%;
        margin-top: 40px;

    }


    .homeTitle h1{
        margin-top: 25px;
        font-size: 22px;
    }

    .services{
        width: 450px;
        background-size: 400px auto;
        background-position: center;
        grid-template-rows: 50px 50px 50px;
    }

    .services a{
        font-size: 26px;
        font-weight: 700;
    }

    .details h2{
        width: 380px;
        font-size: 20px;
    }

    .artLink{
        margin-right: 0px;
    }

    .histLink{
        font-weight: 700;
        font-size: 24px;
    }

    .details{
        grid-template-rows: 110px 180px 40px;
    }


    .iconZero img{
        width: 100px;
    }
    .iconNetZero img{
        width: 100px;
    }

    .iconOne img{
        width: 100px;
    }

    
    .iconTwo img{
        width: 100px;
    }

    .iconThree img{
        width: 70px;
    }






}