
/*-----  CSS RESET  ------*/

  * {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
  }


  html {
    scroll-behavior: smooth; /* this enables smooth scrolling between internal links */
  }

  img {
    max-width: 100%; /* this ensures images never break their container */
    height: auto;
    width: auto ;
  }

  body {
   font-family: 'Fira Sans Extra Condensed', sans-serif;
   color: #2f528b;
   line-height: 1.3;
   letter-spacing: .5px;
 }

 /* section{
   margin-bottom: .5rem;
 } */

 [class*=grid-], [class*=grid_], [class~=grid],[class~=grid][class*=col-]{
   margin: 0;
 }

 [class*=grid-][class*=equalHeight]>[class*=col]{
   display:block;
 }
   /* This overrides a quirk where contents inside of equal height containers become columns themselves */

  /* this overrides the default padding and margin on gridlex elements */
 [class*=grid] {   margin: 0;  }
 [class*=col]  {   padding: 0; }

 /* ------------General typography----------- */

h2, h3, h4, h5, h6 {
  line-height: 1;
  margin-bottom: 0.8rem;
  font-weight: normal;
}

h2  { font-size: 2.5rem;  }
h3  { font-size: 2.2rem;  }
h4  { font-size: 1.8rem;  }
h5  { font-size: 1.5rem;  }
p   { font-size: 1rem;  }

h3{
  font-weight: normal;
}

p, ul {
   margin-bottom: 0.8rem;
}

ul{
  list-style: none;
}

a{
  text-decoration: none;
}

/* -------this makes sure that the last element in any container doesn't have margin-bottom ---------*/
h2:last-child,
h3:last-child,
h4:last-child,
h5:last-child,
h6:last-child,
p:last-child {
  margin-bottom:0;
}

hr { /* -----this is a line element ------*/
  border: none;
  border-bottom: 3px solid;
  width: 4rem;
  margin-bottom: 1rem;
}

.col, .col-4, .col-3, .col-6, .col-12, .col-4_sm-12, .col-3_sm-12{
  padding: 2rem;
}

.bg-image{
  background-position: 40% 80%;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  /* max-width: 100%; */
  min-height: 40vh;
}

.centered{
  text-align: center;
}

/* .sticky {
  position: fixed;
  top: 0;
  width: 100%
} */

/* ----------header -----------*/

header{
  text-decoration: none;
  /* padding: 1%; */
}

nav{
  padding: 1rem;
  /* position: fixed;
  z-index: 2;
  top: 0;
  width: 100%; */
}

.title{
  font-size: 3.5rem;
}

/* .logo{
    color: #a8b3ab;
    font-size: 6rem;
    text-shadow: 2px 2px 5px #692828;
  } */

.banner-image{
    background-position: center 20%;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    height: 58vh;
    background-attachment: fixed;
    filter: grayscale(50%);
  }

nav a#tools-button, nav a#portal-button, nav a#contact-button{
   padding: .9rem .9rem;
   margin: .5rem .5rem;
   font-size: 1rem;
   /* font-weight: bold; */
   /* border: 3px solid #2f528b; */
   box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
   border-radius: 5px;
   color: #2f528b;
   text-decoration: none;
   text-align: center;
   text-transform: uppercase;
   max-width: 100%;

 }

 nav a#tools-button:hover,nav a#portal-button:hover, nav a#contact-button:hover{
   color: #67769a;
   /* border: 3px solid #a8b3ab; */
   background: rgb(240, 240, 245)
 }


/********** tagline section *************/

.tagline{
  padding: 3rem 7rem 3rem 7rem;
  text-align: center;
  font-weight: 400;
}

.tagline-text{
  font-size: 2.5rem;
}

/************ about section ************/

.about{
  margin: 0 2rem 0 2rem;
  /* background-color: #acb2ae; */
  background-color: rgb(240, 240, 245);
  color: #717d8f;
}

.about-pic{
  /* background-image: url(../images/headshot1.png); */
  background-size: cover;
  background-position: center 20%;
  min-height: 50vh;
}

.about-text{
  text-align: center;
  padding: 2.6rem 2rem 2.6rem 2rem;
}

/*************services section**********/

.services{
  text-align: center;
  padding: 3rem 3rem 3rem 3rem;
  background-color: rgb(240, 240, 245);
  color: #717d8f;
  margin-right: 6rem;
  margin-left: 6rem;
  /* previously had the blue font with no gray bg */
}

.services-title{
  margin-bottom: 2rem;
}

#services-list1, #services-list2{
  /* border: 3px solid #717d8f; /*** previously blue #2f528b ***/ */
  /* border-radius: 3px; */
  padding: 4rem;
  font-size: 1.5rem;
}

li{
  line-height: 2.5rem;
}

.fa, .fas{
  padding: .25rem;
  font-size: smaller;
}

/**************** financial resources ************/

.gray-bg {
  /* background-color: rgb(240, 240, 245); */
  padding: 3rem 3rem 4rem 3rem;
  margin-bottom: 0;
}

.card {
  padding: 3rem 2rem 1rem 2rem;
  margin: 2rem;
  background-color: white;
  border-radius: 5px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.2), 0 10px 10px -5px rgba(0, 0, 0,0.2);
  min-height: 80%;
  text-align: center;
}

.card:hover{
  color: #67769a;
  background: rgb(240, 240, 245)
}

.card-name {
  /* text-transform: uppercase; */
  letter-spacing: 2px;
  /* color: rgb(120,120,125); */
  /* color: #717d8f;   */      /********* previously gray font *****/
  text-align: center;
  font-size: 1.2rem;
}

/* .bottom-image{
    background-position: center 33%;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    height: 36vh;
    filter: grayscale(50%);
  } */

/* ----- CONTACT AND FORM --------------------------- */

#contact{
  padding: 3rem 3rem .5rem 3rem;
}

.contact-info p{
  font-size: 1.4rem;
}

/* .contact-image{
  background-position: 40% 31%;
  position: relative;
  background-size: cover;
  background-repeat: no-repeat;
  /* max-width: 100%; */
  /* min-height: 40vh;
  filter: grayscale(50%);
} */

input,
textarea {
  border-style: solid;
  border: 2px solid rgb(200, 200, 205);
  padding: 0.8em;
  display: block;
  width: 100%;
  font-size: 1rem;
  vertical-align: top;
}

input:focus,
textarea:focus {
  outline: none;
  border: 2px solid #2f528b;
}

textarea {
  min-height: 7em;
}

input[type="submit"] {
  width: auto;
  display: block;
}

form [class*=col-] {
  padding: 5px;
  color: #717d8f;
}

.email-signup input {
  width: 30%;
  display: inline-block;
  max-width: 250px;
  margin-top:1rem;
}

.email-signup .button-solid {
  padding: 0.8em;
  border-radius: 0;
  font-size: 1rem;
}

form .button {
 width:100%;
 margin: 10px 0 10px 0;
 color: inherit;
}

form .button:hover{
 color: #67769a;
 border: 2px solid #2f528b;
 background: rgb(240, 240, 245)
}


/************ PORTAL PAGE **************/

#portal-text{
  text-align: center;
  text-transform: uppercase;
  height: 100vh;
}

#portal-text h2{
  font-size: 3.5rem;
}


/****************** media queries ***************/

@media(max-width:768px) {

  .banner-image{
    height: 40vh;
    background-attachment: scroll;
  }

  .title{
    text-align: center;
  }

  .about{
    margin: 0;
  }

  .about-pic{
    min-height: 40vh;
  }

  li{
    line-height: 2.5rem;
  }

  .services{
    padding: 3rem 1rem .5rem 1rem;
    margin-right: 1rem;
    margin-left: 1rem;
  }

  #services-list1{
    padding: 1rem 0 0 0;
    font-size: 1.4rem;
    margin-bottom: 0;
  }

  #services-list2{
    padding: 0 0 2rem 0;
    font-size: 1.4rem;
    margin-top: 0;
  }

  .gray-bg {
    padding: 3rem;
  }

  .email-signup input {
    width: 100%;
    max-width: 100%;
  }

}

@media(max-width:414px){

  .services-list{
    padding: 1rem;
    font-size: 1.2rem;
  }
}
