
/* Base Styles
––––––––––––––––––––––––––––––––––––––––––––––––––*/
/* NOTE
html is set to 62.5% so that all the REM measurements throughout 
are based on 10px sizing. So basically 1.5rem = 15px :) */
html {
  font-size: 62.5%; 
  scroll-behavior: smooth;
}
body {
  font-size: 1.5em; /* currently ems because chrome bug misinterpreting rems on body element */
  line-height: 1.6;
  font-weight: 400;
  font-family: 'Roboto', sans-serif;
  color: rgb(50, 50, 50);
  margin: 1rem;
}
#main {
  max-width: 76.8rem;
  margin: 4.5rem auto;
}

/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0;
  font-family: 'Playfair Display', serif;
  font-weight: 400; 
}
h1 { font-size: 4.2rem; font-weight: 900; line-height: 1.2;  letter-spacing: -.1rem; margin-bottom: 2rem; }
h2 { font-size: 3.6rem; font-weight: 700; line-height: 1.25; letter-spacing: -.1rem; margin-bottom: 1.8rem; margin-top: 4.2rem;}
h3 { font-size: 3.0rem; line-height: 1.3;  letter-spacing: -.1rem; margin-bottom: 1.5rem; margin-top: 1.5rem;}
h4 { font-size: 2.6rem; line-height: 1.35; letter-spacing: -.08rem; margin-bottom: 1.2rem; margin-top: 1.2rem;}
h5 { font-size: 2.2rem; line-height: 1.5;  letter-spacing: -.05rem; margin-bottom: 0.6rem; margin-top: 0.6rem;}
h6 { font-size: 2.0rem; line-height: 1.6;  letter-spacing: 0; margin-bottom: 0.75rem; margin-top: 0.75rem;}

h1 {
  display: inline-block;
  margin: 0;
}
p {
  margin-top: 0; 
}

/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#projects-alert ul {
  margin: 0 0 2rem 2rem;
}
#projects-alert li {
  margin-bottom: 1rem;
  padding-left: 1rem;
}

/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.btn {
  font-size: 1.5rem;
}

/* Images
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#expertise-img {
  max-width: 100%;
}
dd img {
  max-width: 100%;
  margin-top: 1rem;
}

/* Navigation
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.nav-link.active {
  font-weight: 700;
}
.navbar-brand {
  font-size: 2rem;
  font-family: 'Playfair Display', serif;
}
.anchor {
  position: relative;
  bottom: 4rem;
}
.sm-icons {
  flex-direction: row;
  font-size: 2rem;
}
.responsive-tabs a {
  text-decoration: none;
}
.responsive-tabs .nav-tabs {
  display: none;
}

/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
td {
  white-space: nowrap;
}

/* Miscellaneous
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
  margin-top: 2rem;
  margin-bottom: 2.5rem;
}
.tab-content hr {
  margin-bottom: 1.5rem;
  color: rgb(222, 226, 230);
  background-color: rgb(222, 226, 230);
  opacity: 1;
}
#projects-alert {
  margin-bottom: 2.8rem;
}
.projects-internal-alert {
  height: 100%;
  border-color: #d3d6d8;
}
.bi-box-arrow-up-right {
  font-size: 1.25rem;
  position: relative;
  bottom: 1px;
}
.iconify {
  position: relative;
  bottom: 1px;
}
.toast {
  font-size: 1.4rem;
}
.toast-header {
  padding: .8rem 1.2rem;
}
.toast-body {
  padding: 1.2rem;
}
.toast-body .border-top {
  border-top: 1px solid rgba(0, 0, 0, 0.05)!important;
}

/* Media Queries
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media only screen and (max-width: 575px) {
  p {
    hyphens: auto;
  }
  h1, h2 {
    display: block;
    text-align: center;
  }
  .btn {
    display: block;
    float: none;
    text-align: center;
  }
  #headshot, #expertise-img {
    display: block;
    margin: 0 auto;
  }
  #headshot {
    max-width: 50%;
  }
  #expertise-img {
    max-width: 75%
  }
  .responsive-tabs .card {
    border: 1px solid #dee2e6;  
  }
  .responsive-tabs .tab-pane {
    display: block !important;
    opacity: 1;
  }
}
@media only screen and (min-width: 576px) {
  #expertise-img {
    position: relative;
    bottom: 24px;
  }
  #projects {
    bottom: calc(4rem + 24px);
  }
  #projects-headline {
    margin-top: calc(4.2rem - 24px);
  }
  .responsive-tabs .card {
    border: none;  
  }
  .responsive-tabs .tab-pane {
    border: 1px solid #dee2e6;  
    border-top: 0; 
  }
  .responsive-tabs .nav-tabs {
      display: flex;
  }
  .responsive-tabs .card .card-header {
      display: none;
  }
  .responsive-tabs .card .collapse {
      display: block;
  }
}