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


.nav-menu {
    height: 100%; 
    width: 0;
    position: fixed;
    z-index: 1;
    top: 0;
    right: 0;
    overflow-x: hidden;
    transition: 0.5s;
    background-color: #24405A;
    color:#FFFDEF;
}

.nav-menu a {
     display: block;        
     padding: 24px 48px; 
     color: #FFFDEF;       
     text-decoration: none; 
     text-align: center;
}

.nav-menu.open {
  width: 250px;
}

.red-box{ 
    background-color: #D72424;
    padding: 39px; 
}




body {
    background-color: #FFFDEF;
    font-family: "Inria Serif", serif;
    font-weight: 250;
    font-style: normal;
}

p {
  margin-bottom: 16px;   
  line-height: 1.5;     
}

h4 { 
    margin-bottom: 16px;   
  line-height: 1.5;    
}

a {
  color: #FFFDEF;
} 

a:visited {
  color: #FFFDEF; 

}

.header
{
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #24405A;
  color: #FFFDEF;
  padding: 20px;
}

.footer { 
    margin-top: 50px; 
    margin-bottom: 50px;
}

.hamburger-menu .line {
  width: 25px;               
  height: 3px;               
  background-color: #FFFDEF; 
  margin: 4px 0;           
}

.banner-img {
  width: 100%;
  height: auto;
  overflow: hidden;   
  display: block;
  margin-bottom: 20px;
}

.banner-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin-bottom: 20px;
}

.intro-graf1 { 
    text-align: left;
    color: #24405A;
    justify-content: left;
    font-size: xx-large;
    margin-top: 10px;
    margin-left: 50px;
    margin-right: 50px;
    }

.intro-graf2 { 
    text-align: right;
    color: #D72424;
    justify-content: right;
    font-size: xx-large;
    margin-bottom: 20px;
    margin-right: 50px;
    margin-left: 50px;
    }

    .bio-body { 
    text-align: left;
    color: #24405A;
    justify-content: left;
    font-size: x-large;
    margin-top: 10px;
    margin-left: 50px;
    margin-right: 50px;
    }

    .bio-tag { 
    text-align: right;
    color: #D72424;
    justify-content: right;
    font-size: x-large;
    margin-bottom: 20px;
    margin-right: 50px;
    margin-left: 50px;
    margin-top: 10px;
    }

    .page-head { 
        text-align: left;
        color: #D72424;
        font-size: x-large;
        margin-top: 10px;
        margin-bottom: 10px;
        margin-right: 50px;
        margin-left: 10px;
    }

    .page-blurb { 
        text-align: left;
        color: #24405A;
        font-size: large;
        margin-bottom: 10px;
        margin-left: 10px;
        margin-right: 100px;
        margin-top: 10px;
    }

    .head-right { 
    text-align: right;
    color: #D72424;
    justify-content: right;
    font-size: x-large;
    margin-top: 10px;
    margin-bottom: 20px;
    margin-right: 10px;
    margin-left: 10px;
    }

    .body-right { 
        text-align: right;
        color: #24405A;
        justify-content: right;
        font-size: large;
        margin-bottom: 20px;
        margin-right: 10px;
        margin-left: 25%;
        margin-top: 10px;
    }

    .head-left {
        text-align: left;
        color: #D72424;
        justify-content: left;
        font-size: x-large;
        margin-bottom: 20px;
        margin-left: 10px;
        margin-right: 10px;
        margin-top: 10px;
    }

    .body-left {
        text-align: left;
        color: #24405A;
        justify-content: left;
        font-size: large;
        margin-bottom: 20px;
        margin-left: 10px;
        margin-right: 25%;
        margin-top: 10px;
    }

    .work-sample { 
        display: block;
        text-align: center;
        align-items: center;
        background-color: #24405A;
        color: #fffdef;
        padding: 20px;
    }

.about-row-right,
.about-row-left {
  display: flex;                 
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
  margin-bottom: 60px;
  margin-left: 150px;
  margin-right: 150px
}


.blurb {
  flex: 2;
  
}

.photo-left,
.photo-right {
  flex: 1;
}


.photo-left img,
.photo-right img {
  width: 125%;
  height: auto;

  display: block;
  border: #24405A 15px solid;
}


body {
  cursor: none;
}


.custom-cursor {
  width: 20px;               
  height: 20px;
  border-radius: 50%;         
  border: 2px solid #D72424; 
  background-color: #D72424;  
  position: fixed;             
  pointer-events: none;      
  transform: translate(-50%, -50%); 
  z-index: 9999;               
}




@media (max-width: 1080px) {
  
  .about-row-right,
  .about-row-left {
    display: flex;
    flex-direction: column;  
    margin: 20px 16px;
    gap: 16px;
  }

  
  .about-row-left {
    flex-direction: column-reverse;  
  }

  .blurb-right,
  .blurb-left,
  .photo-left,
  .photo-right {
    flex: none;
    width: 100%;
    margin: 0;
  }

  .photo-left img,
  .photo-right img {
    width: 100%;
    height: auto;
    display: block;
  }
}




