body { 
    padding-top: 56px; 
    background-color: #D9F0EF;
    font-family: 'Lato', sans-serif;
}

.left-aligned { 
    margin-left: auto; 
}
.bg-dark { 
    background-color: #EE8A8B !important; 
}
.bg-hero { 
    background-color: #45b06cff; 
}

/* CALLOUT */
.bd-callout { 
    padding:1.25rem; margin-top:1.25rem; margin-bottom:1.25rem; border:1px solid #e9ecef; border-left-width:.25rem; border-radius:.25rem 
}
.bd-callout h4 { 
    margin-bottom:.25rem 
}
.bd-callout p:last-child { 
    margin-bottom:0 
}
.bd-callout code { 
    border-radius:.25rem 
}
.bd-callout+.bd-callout { 
    margin-top:-.25rem 
}
.bd-callout-info { 
    border-left-color:#5bc0de
 }
.bd-callout-warning {
    border-left-color:#f0ad4e 
}
.bd-callout-danger {
    border-left-color:#d9534f 
}

a {
    text-decoration: none;
    color:rgb(164, 74, 74);
}


/* footer */
footer a { 
    color: white; font-weight: bold; text-decoration: none; 
}
footer a:hover { 
    color: white; text-decoration: underline;
}

/* Page styles */

.header-text {
    font-size: 70px;
    background-color: #EBF7F7;
    color: #FFD972;
    font-style: italic;
    font-weight: bold;
    text-align: center;
    letter-spacing: 2px;
    padding-bottom: 1rem;
    width: 700px;
    height: 100px;
    text-shadow: 1px 3px 8px rgba(80, 96, 100, 0.521);
}

.human-p .header-text {
    width: 800px;
}

.subheader {
    font-size: 40px;
    background-color: #FFF7F7;
    color: #EE8A8B;
    font-weight: 900;
    text-align: center;
    font-style: italic;
    width: fit-content;
    border-radius: 10px;
    padding: 15px;
    padding-top: 5px;
    padding-bottom: 7px;
    margin-bottom: 1rem;
    text-shadow: 1px 3px 3px rgba(80, 96, 100, 0.209);
}

.links a{
    color: #FFF7F7;
}


.subheader_small {
    font-size: 25px;
    background-color: #FFF7F7;
    color: #EE8A8B;
    font-weight: 600;
    text-align: center;
    font-style: normal;
    width: fit-content;
    border-radius: 10px;
    padding: 15px;
    padding-top: 5px;
    padding-bottom: 7px;
    margin-top: 20px;
    margin-bottom:10px;
}

.exp_div {
    background-color: #f6b7b3;
    color: #ffffff;
    border-radius: 30px;
    padding: 40px;
    padding-top: 30px;
    padding-bottom: 20px;
    tab-size: 10;
    float:right;
    overflow-wrap: break-word;
    margin-bottom: 30px;
}

/* ToC styles */
/* ToC styles */
.toc-header {
    background: #EE8A8B;
    padding: 5px 5px 0;
    border-radius: 15px 15px 0 0;
    min-height: 50px;
    display: flex;
    align-items: center;
}

.toc-heading {
    font-size: 20px;
    color: #fff;
    margin: 0;
    text-align: left;
    width: 100%;
    font-weight: 600;
    padding: 0 20px 0;
}

.toc-list-wrapper {
    position: -webkit-sticky; 
    position: sticky;
    top: 15vh; /* note: this decides place on screen. for smaller toc we might want to make this bigger (so it fits in middle) */
    max-height: calc(100vh - 20px); 
    overflow-y: auto;
}

.toc-list {
    border-radius: 0 0 15px 15px;
    background: #EE8A8B;
    margin: 0;
    list-style: none;
    padding: 0 17px;
    font-size: 15px;
    padding-bottom: 10px;
}

.toc-list-header a {
    position: relative;
    color: #fff;
    text-decoration: none;
    font-weight: 600;
    display: block;
    padding: 10px;
    border-radius: 10px;
    cursor: pointer;
    transition: .2s ease;
    font-size: 15px;
}

.toc-list-item a:hover,
.toc-list-header a:hover {
    box-shadow: 0 8px 15px rgb(246 90 100 / .55);
    background: #FBC1BD;
    color: #fff;
    border-radius: 10px;
}

.toc-list-items {
    list-style: none;
    padding-left: 30px;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.4s ease;
}

.show {
    max-height: 500px;
}


/* Team page css */
.big_group_picture{
    /* padding:20%; */
    border: 5px solid rgb(255, 255, 255); 
    border-radius: 60px;
    /* width:60%; */
    /* max-width: 70vw; */
    margin-left: 15%;
    width:70%;
    margin-right: 15%;

    align-content: center;
    /* background-size:cover; */
    /* background-position: center;
    background-repeat: no-repeat; */
}

.team_image{
    background-color: lightblue;
    padding: 30%;
    margin: 2% 0% 0% 0%;
    border-radius: 50%;

    background-image:url("");
    /* width: 80%; */
    border: 2px solid lightblue; 
    /* border-radius: 10%; */
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}

.name{
    font-size: 20px;
    color: #855754;
    background-color: #fcbcb8;
    letter-spacing: .5px;
    padding:1%;
    border-radius: 15px;
    width:50%; 
    /* change above WIDTH based on how everything alligns. */
    margin: 2% 0% .5% 0%;
    text-align: center;
}

.job{
    background-color: #77cece;
    padding:2%;
    width:50%;
    border-radius: 15px;
    font-size: 15px;
    margin: .5% 0% 4% 0%;
    text-align: center;
}

.members {
    display: flex;
    flex-wrap: wrap; 
    flex-direction: row;
    justify-content: space-around;

}
.person{
    flex-basis: 33%;
    display: flex;
    flex-direction: column;
    align-items: center;
    align-items: center;
    padding: 0px;

}


.center {
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    max-width: fit-content;
}
/* popup styling */

.team-popup{
    text-align: center;
    align-self: center;
    width: 60vw;
    height: 70vh;
    background-color: #FBC1BD;
    border-radius: 30px;
    /* align-items: center; */
    position:fixed;
    top:20vh;
    left:30vh;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    display:none; 
    visibility:hidden;
    padding-top: 40px;
}

.team-popup .name {
    padding: 5px 10px 5px;
    background-color: #EE8A8B;
    color: white;
    text-align: center;
    font-size: 25px;
    width: 70%;
    margin-top: 2%;
    margin-left: 5%;
    border-radius: 10px;

}

.team-popup .name.job {
    background-color: #ffffff92;
    color: #EE8A8B;
    font-size: 20px;
    width: 55%;

    border: 2px solid white;
  
}

.team-popup .description {
    width: 80%;
    text-align: left;
    float:left;
    height: 325px;
    background-color: #ffffff82;
    color: #EE8A8B;
    border: 2px solid white;
    font-size: 20px;
    border-radius: 10px;
    margin-left:5%;
    overflow-y:scroll;
   
}

.team-popup .description p {
    padding: 10px;
    font-size: 17px;
}

.team-popup .left {
    width: 60%;
    float: left;
}

.team-popup .right{
    width: 40%;
    height: 90%;
    display: flex;
  
    justify-content: space-around;


}
.team-popup .memberPicture {
    /* align-items: center; */
    background-image:url("");
    width: 80%;
    border: 2px solid rgb(255, 255, 255); 
    border-radius: 10%;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;

}

/* .team-popup .memberPicture img{
    right: 30px;
    justify-content: center;
    width: 80%;
    border: 2px solid rgb(255, 255, 255); 
    border-radius: 10%;
} */

.navbar-brand img{
    height: 38px;
}

.navbar {
    z-index: 9999;
}

.book {
    margin: 15px auto 40px auto;
    width: fit-content;
    height: 300px;
    position: relative;
    transition: width 0.5s ease;
  }

.pages {
    height: 100%;
    position: relative;
}

.page {
    width: 530px;
    height: 640px; 
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 7mm;
    margin: 0 6px;
    transform-style: preserve-3d;
    transform-origin: left;
    transition: 0.27s;
    box-shadow: 1px 2px 0 0 rgba(0,0,0,0.15), 1px 3px 1px 0 rgba(0,0,0,0.1);
}

.page-side {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 45px 30px;
    display:flex;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    border-radius: 7mm;
    position: absolute;
    top: 0;
    left: 0;
    backface-visibility: hidden;
}

  .page-header {
    text-align: center;
    padding-left: 25%;
  }

  .page-title {
    width: 100%;
    align-items: center;
    margin: 0;
    width: fit-content;
    padding: 0 15px 0px 15px;
    border-radius: 4px;
    text-align: center;
    justify-content: space-between;
    font-size: 30px;
    font-weight: 700;
    font-style: italic;
    letter-spacing: 1px;
    background-color: #C5E7E7;
  }

  .page-subtitle {
    margin-top: 8px;
    font-size: 15px;
    /* font-weight: 400; */
  }

  .page-content {
    flex-grow: 1;
    font-size: 14px;
    display: flex;
    flex-direction: column;
    padding-top: 12px;
  }

  .page-footer {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 15px;
    font-size: 14px;
  }

  .pg-no {
    padding: 0 5px;
    height: 20px;
    line-height: 20px;
    text-align: center;
    background: white;
    border-radius: 3mm;
  }

  .front {
    background: #E9F6F5;
    color: #4BA7A7;
    padding-left: 40px;
  }

  .back {
    background: #E9F6F5;
    color: #4BA7A7;
    padding-right: 40px;
    transform: rotateY(180deg);
  }

  .beads {
    position: absolute;
    top: 0;
    left: -12px;
    height: 560px;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    flex-direction: column;
    z-index: 9998;
  }

  .bead {
    width: 36px;
    height: 12px;
    background: #FFD972;
    box-shadow: 
        1px 2px 0 0 rgba(0,0,0,0.15), 
        1px 3px 1px 0 rgba(0,0,0,0.1);
    border-radius: 5mm;
    z-index: 9998;
  }

  .controls {
    width: 350px;
    height: fit-content;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 360px auto 0px auto;
    /* margin-left: 37%; */
    padding-bottom: 10px;
  }

  .controls button {
    background: #C5E7E7;
    color: #4BA7A7;
    width: 40px;
    height: 40px;
    font-weight: bold;
    font-size: large;
    border: 0.4mm solid #4BA7A7;
    border-radius: 70%;
    outline: none;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  .controls button :hover {
    color: #286969;
  }

 .page-side#highlight {
    background-color: #EE8A8B;
 } 

 /* Accomplishments for the day */
 .nb-acc {
    padding-right: 20px;
    width: fit-content;
    color: #EE8A8B;
    float: left;
 }
 
 .nb-main {
    margin-top: 5px;
 }

 .page-content .highlight {
    font-weight: 800;
    font-size: 16px;
    margin-bottom: 5px;
 }

 .nb-acc ul {
    font-size: 15px;
    width: fit-content;
    background-color: #F5FAFF;
    margin-bottom: 0;
    padding-left: 20px;
    margin-left: 20px;
    padding-right: 20px;
}

.nb-main .text {
    width: 95%;
    font-size: 13px;
    background-color: #F5FAFF;
    margin-left: 20px;
    margin-bottom: 10px;
    padding: 2px;
    padding-left: 5px;

}

.nb-wrapper {
    background-color:#FFD972;
    width: auto;
    height: fit-content;
    align-items: center;
    flex-direction: column;
    position: relative;
    padding-top: 1px;
    border-radius: 36px;
    margin-bottom: 30px;
}

.nb-toc {
    margin: 20px;
    float: left;
    width: 15%;
}

.nb-toc .toc-list{
    color: #C5E7E7;
}

.bookmark {
    position:absolute;
    top:0;
    margin-left: 20px;
    padding: 0;
}.ff-logo {
    max-width: 45vw;
    margin: auto;
    display:block;
    margin-top: 5vh;
    position: relative;
    z-index:3;
}

#logo-container {
    width: 100vw;
    height: 100%;
    justify-content: center;
    align-items: center;
    
}

canvas{ 
    display: block; 
}

.home-container {
    margin:0;
    padding:0;
}

#particles-js{ 
    z-index:2;
    top:0;
    left:0;
    position:absolute; 
    width: 100%; 
    height: 100%; 
    background-color: #D9F0EF; 
    background-size: cover;
    background-position: 50% 50%; 
} 

.section {
    height: 100vh;
    width: 100vw;
    padding: 0;
    margin:0;
    display: flex;
    justify-content: center;
    background-color: #D9F0EF;
    position: relative;
    z-index:2;
}


.section.s1 .content {
    justify-content: center;
    align-items: center;
    padding: 3vw 7vw 7vw;
}

#nc-graphic {
    margin-top: 0vh;
    margin-left: 15vw;
    width: 70%;
}

.home-callout {
    color: #C2393B;
}

.home-text {
    margin-top: 5vh;
    width: 80vw;
    margin-bottom: 3vh;
    color: #0C3659;
    align-items: center;
    text-align: center;
    font-size: 22px;
}

.home-text a {
    font-style: normal;
    text-decoration: none;
}

.section.s1 {
    height: 80vh;
}

.section.s2 {
    background-color: #85575400;
}

.section.s3 {
    height:78vh;
}

.section.s4 {
    height: 82vh;
}

.section.s5 {
    height: 30vh;
}

.fixed-content {
    position: fixed;
    top: 0;
    left: 0;
    margin:0;
    width: 100%;
    height: 100vh;
    justify-content: center;
    background-color:#FFD972;
    background-size: cover;
    z-index: -1;
}

.fixed-text {
    height: 100%; 
    color: white;
    display: flex; 
    flex-direction:column;
    position:relative;
    justify-content: center; 
    align-items: center; 
}

.pfas-imgs {
    position: fixed;
}

.pfas-blue {
    position: fixed;
    bottom:-10vw;
    left:-14vh;
    width: 350px;
    transform: rotate(-30deg);
}

.yellow-fixed-txt {
    position:fixed;
}

.s3 .content {
    width: 75%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    align-items: center;
}

.s4 .content {
    width: 75%;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    align-items: center;
}

.s4 .content.home-text {
    justify-content: center;
}

.s3 .content .home-text {
    justify-content: center;
}

.content {
    position:absolute;
    z-index: 1;
}

.wizard {
    width: 450px;
}

.no-margin{
    margin: 0; 
    padding: 0;
}

.button-container {
    text-align: center;
}

.custom-button {
    margin-top: 60px;
    position: relative;
    display: inline-block;
    padding: 20px 30px;
    width: 300px;
    background-color: #FFD972;
    color: #4F2222;
    font-size: 25px;
    border: 1.5px solid white;
    border-radius: 25px;
    text-decoration: none;
    text-align: center;
    box-shadow: 0px 5px 5px rgba(0, 0, 0, 0.2);
    transition: all 0.2s ease;
}

.s5 .home-text {
    margin-top: 0;
    margin-bottom: 20px;
}

.custom-button:hover {
    background-color: #ffe291;
}
.custom-button:active {
    box-shadow: inset 0px 5px 15px rgba(96, 84, 84, 0.3);
}

.fig-container-2 {
    display: flex;
    justify-content: space-between;
}

.fig-container-2 figure {
    flex: 1;
    text-align: center;
    margin: 0 10px; 
}

.fig-container-2 img {
    max-width: 100%;
    height: auto; 
}

.image-wrap {
    width: 100%;
    overflow: hidden; 
}

.float-left {
    float: left;
    margin-right: 15px; 
    margin-bottom: 10px; 
    max-width: 200px; 
}

.pdf-container {
    width: 100%;
    max-width: 800px; 
    margin: 0 auto; 
    overflow: hidden; 
}

.pdf-embed {
    width: 100%;
    height: 500px;
    max-width: 100%; 
}

.pdf-container {
    display: flex;
    justify-content: space-between; 
    gap: 20px;
}

.pdf-image {
    width: 48%; 
    height: auto; 
    max-width: 100%;
}

/* footer */
footer a { 
    color: white; font-weight: bold; text-decoration: none; 
}
footer a:hover { 
    color: white; text-decoration: underline;
}

footer {
    overflow-x: hidden;
}

.footer .container {
    margin-left: 0px;
    margin-right: 0px;
}

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

.footer-content {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    max-width:100vw;
    box-sizing: border-box; 
}

.column .row2 {
    flex-direction: row;
    flex-wrap: wrap;
}

.column .row2 a {
    height: 40px;
}

.column {
    flex: 1;
    text-align: center;
    font-size: 20px;
}

.column.c1 {
  width: 20%;
}

.column img {
    width: auto;
    height: 35vw; 
}

.images img {
    width: auto;
    height: 8vw;
    margin: 1vw;
    max-width: 100%;
}

.images {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    
}

/* Header */
.dropdown-menu {
    /* display: none; */
    /* position: absolute; */
    border-radius: 10px;
    background: #ee818b;
    box-shadow: 0px 8px 16px rgba(0, 0, 0, 0.1);
    z-index: 1;
}

.dropdown-menu a {
    color: rgb(252, 239, 239); /* Coral pink text */
    padding: 10px;
    display: block;
    text-align: left;
    background-color: #ee818b; /* Yellow background */
    /* border-radius: 8px; */
    transition: background-color 0.3s ease, color 0.3s ease; /* Add transition effect */
}

.dropdown-menu a:hover {
    color: #ee818b; /* text on hover */
    background-color: rgb(252, 239, 239); /* Coral pink background on hover */
}

li:hover .dropdown-menu {
    display: block;
  }


#medal {
    max-width: 35%;
    margin-left: 25vw;
}