/* CUSTOM PROPERTIES
-----------------------------------------------*/
:root {
  --darkgray:       #333333;
  --whitesmoke:     #F5F5F5;
  --darkslateblue:  #483D8B;
  --color-dark:     var(--darkgray);
  --color-light:    var(--whitesmoke);
  --color-primary:  var(--darkslateblue);

  --font-size-h1:        5rem;
  --font-size-h2:        2.5rem;
  --font-size-base:      0.9375rem;
  --font-size-tagline:   1.75rem;
  --font-size-small:     0.7rem;
}

/* Global Styles
-----------------------------------------------*/
/* Alternative box model */
html {
  box-sizing: border-box;
}
*, *::before, *::after {
  box-sizing: inherit;
}

html, body {
  height: 100%;
}
body {
	margin: 0;
	padding: 0;
  font-family: "DM Sans", sans-serif;
  font-size: var(--font-size-base);
  line-height: 1.4;
}

a {
  color: var(--color-dark);
}
a:hover {
  text-decoration: none;
}
h1 {
  font-size: var(--font-size-h1);
}
h2 {
  font-size: var(--font-size-h2);
}
h1, h2, h3,h4 {
  margin: 0;
  font-family: "Numans", sans-serif;
  font-weight: 400;
  font-style: normal;
}
h3,h4 {
  font-weight: bold;
}
.bg-dark a, .bg-primary a {
  color: var(--color-light);
}
.bg-dark{
  background: var(--color-dark);
  color: var(--color-light);
}
.bg-light{
  background: var(--color-light);
  color: var(--color-dark);
}
.bg-primary{
  background: var(--color-primary);
  color: var(--color-light);
}
.list-reset{
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.content-wrap {
  max-width: 800px;
  margin: 0 auto;
  padding: 60px;
}
.btn {
  display: inline-block;
  padding: 10px;
  background: var(--color-primary);
  color: var(--color-light);
  text-decoration: none;
  border-radius: 4px;
  margin-bottom: 5px;
  text-transform: uppercase;
  line-height: 1;
  font-size: var(--font-size-small);
  letter-spacing: 0.08rem;
}
.btn:hover {
  background: var(--color-light);
  color: var(--color-dark);
}

/* Header + Nav
-----------------------------------------------*/
header {
  height: 100%;
  background-image: linear-gradient(rgb(72 61 139 /.5), rgb(72 61 139 /.5)),
  url(../images/bg-bookshelf.jpg);
  background-repeat: no-repeat;
  background-position: center bottom;
  background-size: cover;
  color: var(--color-light);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
}
.nav-list{
  display: flex;
  justify-content: center;
}
.nav-list a {
  padding: 20px;
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: bold;
}
.nav-list a:hover {
  text-decoration: underline;
}
hgroup {
  line-height: 1.25;
}
.tagline {
  font-size: var(--font-size-tagline);
  margin: 0;
}
@media screen and (orientation: portrait) {
  header {
    height: 50%;
  }
}

/* About
-----------------------------------------------*/

/* Projects 
-----------------------------------------------*/
.project-item {
  border: 1px solid var(--color-primary);
  padding: 20px;
  margin-bottom: 10px;
  display: flexbox;
  column-gap: 20px;
}
.project-item image{
  width: 10%;
}

  @media screen and (min-width: 750px) {
  .project-item {
    display: flex;
  }  
}  

/* CV
-----------------------------------------------*/
.cv.content-wrap {
  max-width: 1000px;
  margin-bottom: 30px;
}
.cv-container {
  margin-top: 15px;
}
.cv h4 {
  margin-top: 20px;
}
.job-item, .school-item {
  margin-bottom: 25px;
}
.organization, .degree-field {
  font-style: italic;
}
.organization, .dates-worked {
  margin: 0;
}
.position, .organization, .dates-worked, .school {
  color: var(--color-primary);
}

@media screen and (min-width: 900px) {
  .cv-container {
    display: grid;
    grid-template-columns: 300px 1fr;
    grid-template-rows: 225px 1fr;
    gap: 30px;
  }
  .work-experience {
    grid-row: 1 / 3;
    grid-column: 2 / 3;
    border-left: 1px solid var(--color-primary);
    padding-left: 30px;
  }
  .profile {
    border-bottom: 1px solid var(--color-primary);
  }
}
@media screen and (max-width: 899px) {
  .cv h3 {
    border-bottom: 1px solid var(--color-primary);
    margin-top: 30px;
  }
}

/* Footer
-----------------------------------------------*/
footer {
  text-align: center;
  padding: 60px;
}
.socials-list {
  display: flex;
  justify-content: center;
}
.socials-list img {
  width: 35px;
}
.copyright {
  font-size: var(--font-size-small);
}