body {
  margin: 0;
  padding: 0;
  background-color: #eff4ff;
  background-image: url("../assets/background-img.png");
  background-repeat: no-repeat;
  background-size: 1150px;
  background-position: 50% 70px;
}

.main {
  padding-top: 54px;
  padding-left: 54px;
  padding-right: 54px;
  padding-bottom: 54px;
  max-width: 100%;
  width: 78%;
  margin: 0px auto;
  display: flex;
  flex-direction: column;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

.page {
  width: 100%;
  margin-top: 30px;
}

.subheader-div {
  display: inline-block;
  width: 30%;
  margin-right: 5%;
  float: left;
  text-align: left;
}

.text-div {
  display: inline-block;
  width: 65%;
  /* margin-right: 5%; */
  float: right;
}

/* ---------- NAV BAR ---------- */
nav {
  font-size: 15px;
  position: fixed;
  top: 0px;
  width: 100vw;
  height: 64px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 99;
  background-color: #eff4ff;
  overflow-y: visible;
}

.nav-bar {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding-left: 54px;
  padding-right: 54px;
  max-width: 100%;
  width: 80%;
  position: relative;
  overflow: hidden;

  font-family: 'ApercuProRegular', sans-serif;
  font-size: 15px;
  letter-spacing: normal;
}

#hamburger {
  margin-top: 8px;
  display: none;
  float: right;
}

button > .hamburger-icon{
  display: block;
  border-style: none;
  background-color: none;
}

.hambuger-bar {
  width: 18px;
  height: 1px;
  margin-bottom: 5px;
  background-color: black;
}

.hamburger-menu {
  display: none;
  position:fixed;
  z-index: 5;
  left: 160px;
  top:45px;
  width: 176px;
  padding-left: 24px;
  padding-top: 12px;
  padding-bottom: 12px;

  box-shadow: 0px 0px 5px rgba(65, 69, 73, 0.15);
  background-color: white;
}

.menu-element {
  padding-top: 8px;
  padding-bottom: 8px;

  font-family: 'ApercuProRegular', sans-serif;
  font-size: 15px;
  letter-spacing: normal;
}

.home-tab {
  align-items: center;
  user-select: none;
  width: 100%;
  display: inherit;
  border-radius: 3px;
  display: flex;
  align-items: center;
  padding: 18px;

  font-family: 'AtlasGrotesqueMedium', sans-serif;
  background-image: url("../assets/logo.png");
  background-repeat: no-repeat;
  background-size: 40px;
  background-position: 0px 4px;
}

.nav-menu {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  margin-right: 4px;
}

.nav-tab {
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 6px;
  padding-bottom: 4px;
  margin-left: 4px;
  margin-right: 4px;
  border-radius: 4px;
}

.nav-tab:hover {
  background-color: #D2DAFF;
  transition-duration: 0.5s;
  cursor: pointer;
}

/* ---------- LANDING PAGE ---------- */
#landing-page {
  margin-top: 30px;
  overflow-x: visible;
  justify-content: center;
}

.landing-text {
  display: flex;
  flex-direction: row;
  width: 670px;
  margin: auto;
  justify-content: center;
}

.landing-sponsored-text {
  display: flex;
  flex-direction: row;
  width: 670px;
  margin: auto;
  justify-content: center;
}

.landing-page-header {
  display: inline-block;
  width: 360px;
  margin-right: 2%;
  display: inline-block;
  float: left;
}

.landing-page-subheader {
  display: inline-block;
  width: 310px;
  margin-left: 2%;
  margin-top: 12px;
  display: inline-block;
  float: right;
}

#landing-img {
  display: flex;
  flex-direction: row;
  width: 700px; 
  height: 700px; 
  margin-left: auto;
  margin-right: auto;
  background-image: url("../assets/landing.png");
  background-repeat: no-repeat;
  background-size: 100%;
}

.landing-button {
  padding-left: 28px;
  padding-right: 28px;
  padding-top: 10px;
  padding-bottom: 8px;
  margin-top: 8px;
  margin-bottom: 20px;
  width: 100%;

  background-color: #4e77f7;
  border-radius: 4px;
  color: white;
  cursor: pointer;
}

/* ---------- ABOUT PAGE ---------- */
#about-page {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

#about-section {
  width: 100%;
}

.course-overview {
  margin-top: 40px;
  background-color: white;
  border-radius: 4px;
  min-width: 835px;
  overflow-x: scroll;
  direction: horizontal;
}

.course-overview-header-bar {
  display: block;
  border-bottom: 1px solid #E8EAED;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.course-overview-header {
  display: inline-block;
  margin-left: 8px;
  margin-right: 8px;
  font-family: 'ApercuProRegular', sans-serif;
  font-size: 15px;
  letter-spacing: -0.4px;
  color: #777777;
}

.week {
  display: block;
  margin-left: 32px;
  margin-right: 32px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.week:not(:last-child) {
  border-bottom: 1px solid #E8EAED;
}

.week-name {
  display: inline-block;
  font-family: 'ApercuProRegular', sans-serif;
  font-size: 15px;
  letter-spacing: -0.4px;
  width: 30%;
  color: #333333;
}


.week-unit {
  display: inline-block;
  font-family: 'ApercuProRegular', sans-serif;
  font-size: 15px;
  letter-spacing: -0.3px;
  text-align: center;

  width: 80px;
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 4px;
  padding-bottom: 4px;
  border-radius: 16px;

  color: #233FE1;
  background-color: #eff4ff;
}

.week-date {
  display: inline-block;
  font-family: 'ApercuProRegular', sans-serif;
  font-size: 15px;
  letter-spacing: -0.3px;
  text-align: center;
  width: 80px;
  margin-left: 5%;
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 4px;
  padding-bottom: 4px;
  border-radius: 16px;

  color: rgb(129, 78, 247);
  background-color: #f8efff;
  /* float: right; */
}

.week-desc {
  display: inline-block;
  font-family: 'ApercuProRegular', sans-serif;
  font-size: 15px;
  letter-spacing: -0.3px;
  width: 37%;
  margin-left: 5%;
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 4px;
  padding-bottom: 4px;
  border-radius: 16px;
}

/* ---------- SPEAKER PAGE ---------- */

#speakers-page {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

.calendar {
  padding-top: 40px;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: center;
  width: 100%;
}

.card {
  display: inline-block;
  width: 260px;
  border-radius: 8px;
  margin-bottom: 12px;
  margin-right: 1.5%;
  background-color: white;
  box-shadow: -1px 0px 10px -6px rgba(204,204,204,0.5);
  cursor: pointer;
}

.card-img {
  display: block;
  width: 100%;
  height: 220px;
  border-radius: 8px 8px 0px 0px;
}

.card-text {
  display: block;
  width: 100%;
  border-radius: 0px 0px 8px 8px;
  margin-top: 10px;
  margin-bottom: 12px;
  margin-left: 12px;
  margin-right: 8px;
}

.card-text.staff {
  text-align: center;
  margin-left: 0;
}

.card-date {
  display: inline-block;
  padding: 8px;
  float: left;
  width: 10%;
}

.card-info {
  display: inline-block;
  margin-left: 10px;
  padding-bottom: 12px;
  float: right;
  width: 80%;
}

.card-month {
  display: block;
  text-transform: uppercase;
  text-align: center;
  line-height: normal;
  font-family: 'ApercuProRegular', sans-serif;
  font-size: 14px;
  letter-spacing: -0.3px;

}

.card-day {
  display: block;
  font-family: 'ApercuProMedium', sans-serif;
  font-size: 24px;
  letter-spacing: -0.3px;
  line-height: normal;
  text-align: center;
}

.card-header {
  display: block;
  font-family: 'ApercuProMedium', sans-serif;
  font-size: 18px;
  letter-spacing: -0.3px;
  margin: 0;
  padding: 0;
  line-height: 22px;
}

.card-subheader {
  display: block;
  font-family: 'ApercuProRegular', sans-serif;
  font-size: 14px;
  letter-spacing: -0.3px;
  margin: 0;
  padding: 0;
  line-height: 18px;
}

#guangzhi-tang-img {
  background-image: url("../assets/speakers/GuangzhiTang.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 0 -3px;
}

#ioannis-polykretis-img {
  background-image: url("../assets/speakers/IoannisPolykretis.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 0 -28px;
}

#kristy-haar-img {
  background-image: url("../assets/speakers/KristyHaar.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 0 -3px;
}

#mukesh-patel-img {
  background-image: url("../assets/speakers/MukeshPatel.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 0 -3px;
}

#scott-borden-img {
  background-image: url("../assets/speakers/ScottBorden.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 0 -8px;
}

#rithika-korrapolu-img {
  background-image: url("../assets/speakers/RithikaKorrapolu.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 0 -3px;
}

#alex-goodkind-img {
  background-image: url("../assets/speakers/AlexGoodkind.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 0 -3px;
}

#berton-wang-img {
  background-image: url("../assets/speakers/BertonWang.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 0 -3px;
}

#rachael-chin-img {
  background-image: url("../assets/speakers/RachaelChin.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: 0 -3px;
}

#matthew-stone-img {
  background-image: url("../assets/speakers/MatthewStone.png");
  background-repeat: no-repeat;
  background-size: 130%;
  background-position: -50px;
}


/* ---------- ASSIGNMENTS PAGE ---------- */

#assignments-page {
  margin-top: 40px;
}

.assignments {
  margin-top: 40px;
  background-color: white;
  border-radius: 4px;
  min-width: 835px;
  overflow-x: scroll;
  direction: horizontal;
}

.assignments-header-bar {
  display: block;
  border-bottom: 1px solid #E8EAED;
  padding-left: 24px;
  padding-right: 24px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.assignments-header {
  display: inline-block;
  margin-left: 8px;
  margin-right: 8px;
  font-family: 'ApercuProRegular', sans-serif;
  font-size: 15px;
  letter-spacing: -0.4px;
  color: #777777;
}


.assignment {
  display: block;
  margin-left: 32px;
  margin-right: 32px;
  padding-top: 12px;
  padding-bottom: 12px;
}

.assignment:not(:last-child) {
  border-bottom: 1px solid #E8EAED;
}

.assignment-name {
  display: inline-block;
  font-family: 'ApercuProRegular', sans-serif;
  font-size: 15px;
  letter-spacing: -0.4px;
  width: 50%;
  color: #333333;
}


.assignment-unit {
  display: inline-block;
  font-family: 'ApercuProRegular', sans-serif;
  font-size: 15px;
  letter-spacing: -0.3px;
  text-align: center;

  width: 80px;
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 4px;
  padding-bottom: 4px;
  border-radius: 16px;

  color: #233FE1;
  background-color: #eff4ff;
}

.assignment-date {
  display: inline-block;
  font-family: 'ApercuProRegular', sans-serif;
  font-size: 15px;
  letter-spacing: -0.3px;
  text-align: center;

  width: 80px;
  margin-left: 5%;
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 4px;
  padding-bottom: 4px;
  border-radius: 16px;

  color: #FF2045;
  background-color: #FCEBEB;
  /* float: right; */
}

.assignment-submission {
  display: inline-block;
  font-family: 'ApercuProRegular', sans-serif;
  font-size: 15px;
  letter-spacing: -0.3px;

  width: 5%;
  margin-left: 5%;
  padding-left: 8px;
  padding-right: 8px;
  padding-top: 4px;
  padding-bottom: 4px;
  border-radius: 16px;

}

/* ---------- STAFF PAGE ---------- */

#staff-page {
  margin-top: 40px;
}

#madhu-img {
  background-image: url("../assets/staff/x.png");
  background-repeat: no-repeat;
  background-size: 100%;
  background-position: center;
}

/* ---------- SPONSORS PAGE ---------- */

#sponsors-page {
  margin-top: 40px;
}

#sponsors-section {
  width: 100%;
  margin-top: 40px;
}

.img-strip {
  max-width: 100%;
  width: 100%;
  margin: 0px auto;
  align-items: left;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
}

.img {
  margin: 30px;
}

#rutgers-img {
  height: 72px;
}

#ces-img {
  height: 80px;
}

/* ---------- POLICIES PAGE ---------- */

#policies-page {
  margin-top: 40px;
}
