body{
  font-size: 18px;
  font-family: 'Quattrocento Sans', sans-serif;
  color: #3F3F3F;
}

h1{
  font-size: 2rem;
  font-weight: bold;
  font-family: 'Oswald', sans-serif;
  color: #181818;
}

.center h1, .thesis h1{
  text-align: center;
  padding: 1.77rem;
  color: #181818;
}

h2{
  font-size: 1.7rem;
  font-weight: bold;
  color: #181818;
  padding-bottom: 1.3rem;
}

h3{
  font-size: 1.35rem;
  font-weight: bold;
  color: #181818;
  padding: .5rem 0;
}

.flex{
  display: flex;
}

.bold{
  font-weight: bold;
}

.light{
  font-weight: lighter;
  color: gray;
}

.center{
  justify-content: center;
  align-items: center;
}

/* Header */
header{
  justify-content: space-between;
  height: 3.55rem;
  padding: 0 1.33rem;
  background-color: white;
}

header .flex{
  align-items: center;
}

.logo-text{
  line-height: 1.77rem;
}

nav a{
  text-decoration: none;
  color: black;
  margin-left: .88rem;
  position: relative;
}
.mobile-menu{
  display: none;
}

/* MOBILE - Header */
@media only screen and (max-width: 600px){
  .mobile-menu{
    display: flex;
    align-items: center;
    justify-content: space-around;
    width: 100%;
  }
  .main-nav, .logo-text, .desktop-only{
    display: none;
  }
  header{
    height: 3.44rem;
  }
}

/* menu effects */
nav a:hover{
  color: #457EAC;
}

nav a span:first-child:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 4px;
  height: 4px;
  background: transparent;
  border-top: 2px solid #457EAC;
  border-left: 2px solid #457EAC;
  transition: .5s;
  opacity: 0;
}

nav a span:first-child:after{
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 4px;
  background: transparent;
  border-top: 2px solid #457EAC;
  border-right: 2px solid #457EAC;
  transition: .5s;
  opacity: 0;
}

nav a span:last-child:before{
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 4px;
  height: 4px;
  background: transparent;
  border-bottom: 2px solid #457EAC;
  border-left: 2px solid #457EAC;
  transition: .5s;
  opacity: 0;
}

nav a span:last-child:after{
  content: '';
  position: absolute;
  bottom: 0;
  right: 0;
  width: 4px;
  height: 4px;
  background: transparent;
  border-bottom: 2px solid #457EAC;
  border-right: 2px solid #457EAC;
  transition: .5s;
  opacity: 0;
}

nav a:hover span:first-child:before{
  top: -9px;
  left: -8px;
  opacity: 1;
}

nav a:hover span:first-child:after{
  top: -9px;
  right: -8px;
  opacity: 1;
}

nav a:hover span:last-child:before{
  bottom: -9px;
  left: -8px;
  opacity: 1;
}

nav a:hover span:last-child:after{
  bottom: -9px;
  right: -8px;
  opacity: 1;
}


/* Banner */
.banner{
  padding: 1.77rem 60px 1.77rem 0;
  justify-content: space-around;
  background-color: #D4D4D4;
}

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

.banner-text{
  align-items: center;
  width: 40%
}

.button{
  background-color: #4A464A;
  justify-content: center;
  border-radius: .25rem;
  padding: 1rem;
  text-align: center;
  color: white;
}

.button:hover{
  background-color: #181818;
  cursor: pointer;
  transition: .5s ease-in;
}

.learn{
  width: 85%;
}

.learn h1{
  font-size: 2.7rem;
  margin-bottom: 1.5rem;
  color: #181818;
}

.learn p{
  padding-bottom: 1rem;
}

/* MOBILE - Banner */
@media only screen and (max-width: 600px){
 .banner{
   padding: 0 0 1.77rem;
   flex-direction: column;
 }

.mobile-banner{
   margin: 0 !important;
   height: auto;
   width: 100% !important;
 }

.banner-text{
  margin: 1.77rem 0;
  width: 100%;
  text-align: center;
  justify-content: center;
}

.learn p{
  padding-bottom: 1.33rem;
}

}

/* Featured content */
.featured-content{
  padding: 1.77rem 60px 1.77rem 0;
}

.content-left{
  flex-direction: column;
  width: 60%;
  margin: 0 1.33rem;
}

.lg-image-container{
  height: auto;
  max-width: 100%;
}

.lg-image-container img{
  height: auto;
  width: 100%;
  padding-bottom: 1.77rem
}

.post-content-right{
  flex-direction: column;
  width: 40%;
  align-items: center;
}

.border-left{
  border-left: 1px solid #D4D4D4;
}

.border-bottom{
  border-bottom: 1px solid #D4D4D4;
  }

.post-content-right img{
  height: auto;
  width: 100%;
}

.image-container{
  width: 35%;
  height: auto;
  margin: .88rem;
}

.post-text{
  width: 65%;
}

.post-text p{
  padding-bottom: .3rem;
}

.post:hover{
  background-color: #D4D4D4;
  cursor: pointer;
  transition: background-color .5s ease-in;
}

.post-text a{
  text-decoration: none;
  color: #457EAC;
}

.mobile-only{
  display: none;
}

/* MOBILE - Featured Content */
@media only screen and (max-width: 600px){
  .mobile-hide{
    display: none;
  }

  .mobile-only{
    display: flex;
  }

  .featured-content{
    padding: 0;
    border-bottom: 1px solid #D4D4D4;
  }

  .post-content-right{
    width: 100%;
    margin: .88rem;
  }

  .post{
    display: flex;
    flex-direction: column;
    margin-bottom: 3.55rem;
  }

  .post:hover{
    background-color: transparent;
  }

  .post-text{
    width: 100%;
    padding-left: 16px;
  }

  .image-container{
    width: 100%;
  }

  .border-left, .border-bottom{
    border: 0px;
  }

}

/* Courses section */
.courses{
  background-color: #F4F4F3;
  padding-bottom: 1.77rem;
}

.course-catalog{
  flex-wrap: wrap;
  margin: 0 72px;
  justify-content: center;
}

.course-container{
  width: 30%;
  margin: 1rem;
  background: white;
}

.course-container img{
  height: auto;
  width: 100%;
}

#courses{
  padding: .44rem 0;
  color: #575757;
}
.course-text{
  padding: .88rem;
}

/* MOBILE - Courses section */
@media only screen and (max-width: 1103px){
  .course-container{
    width: 40%;
  }
}
@media only screen and (max-width: 600px){
  .courses{
    background: transparent;
  }
  .course-catalog{
    margin: 0 auto;
  }

  .course-container{
    width: 100%;
    background-color: #F4F4F3;
    padding: 16px 16px 24px;
    margin: .44rem .88rem;
  }

  .course-text h3{
    font-size: 1.6rem;
    padding: 0;
  }

  .course-text p{
    display: none;
  }
}

/* Thesis exhibit */
.thesis{
  padding: 0 3.33rem 1.77rem 0;
}

.thesis-video{
  flex-direction: column;
  padding: 0 1.33rem;
  width: 60%;
}

.thesis h2{
  font-size: 1.4rem;
  padding: 1.33rem 0 .45rem 0;
}

/* MOBILE - Thesis section */
@media only screen and (max-width: 600px){
  .thesis{
    padding: 0;
    margin-bottom: 1.45rem;
  }
  .content-left{
    width: 100%;
  }
}

/* Footer  */
footer .flex{
  justify-content: space-between;
}
footer p{
  padding: .88rem 1.33rem;
}

footer a{
  text-decoration: none;
  font-size: .8rem;
  color: #3F3F3F;
  padding: .4rem;
}
