body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f0f0f0;
}

header {
    background-color: #261e49;
    color: #fff;
    padding-top: 10px;
    padding-bottom: 15px;
    text-align: center;
    position: sticky;
    top: 0;
}

main {
    padding: 1rem;
    background-color: #fff;
    margin: 2rem auto;
    margin-top: 0;
    max-width: 800px;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}


.circle-frame {
    width: 150px; /* Adjust the size as needed */
    height: 150px;
    border-radius: 50%;
    padding: 1px; /* Adjust the thickness of the frame */
    background-color: #666; /* Frame color */
    display: flex;
    justify-content: center;
    align-items: center;
}

.circle-frame img {
    width: 100%;
    height: 100%;
    border-radius: 50%;
    object-fit: cover;
}

.about-content {
    background-color: #8378b3;
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 5px;
    padding-bottom: 5px;
}

.about-image-container {
    padding: 10px;
    text-align: center;
    width: 100%;
    max-width: 900px;
    padding-left: 0px;
}

.about-image-container img {
    width: 100%;
    height: auto;
    display: block;
}

.intro {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;    
}

.image-container {
    padding: 10px;
    text-align: center;
    /* width: 100%; */
    /* max-width: 300px;*/
    margin: 0 auto;
}

.image-container img {
    width: 100%;
    height: auto;
    display: block;
}

.intro-content {
    background-color: #8378b3;
    padding: 0px;
    text-align: center;
    align-content: center;
    height: 400px;
}

.portfolio-container {
    background-color: #8378b3;
    padding: 5px;
}

.portfolio-container h2, h4 {
    text-align: center;
}

.portfolio-container h4 {
    margin: 0;
}

.portfolio-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    flex-grow: 2;
    padding-bottom: 50px;
}

.portfolio-image-container {
    padding: 10px;
    text-align: center;
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
}

.portfolio-image-container img {
    width: 100%;
    height: auto;
    display: block;
}

.portfolio-content {
    flex: 4;
    padding: 10px;
    text-align: center;
}

.index-container{
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 1rem;
    padding-bottom: 25px;
}

.index-affiliated-site-logo{
    max-width: 300px;
    max-height: 300px;
}

.index-h1{
    text-align: center;
    margin: 0;
    padding-bottom: 25px;
}

.alex_giraffe_icon {
    width: 300px;
    height: 300px;
    border-width: 10px;
}

.speech-bubble {
    position: relative;
    background: #8378b3;
    border-radius: 10px;
    padding: 10px 15px;
    max-width: 250px;
    font-family: sans-serif;
}

.speech-bubble::before {
    content: "";
    position: absolute;
    top: 15px;
    left: -20px;
    width: 0;
    height: 0;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 20px solid #8378b3;
}

@media (max-width: 800px) {
    /* CSS rules for screens less than 800px */
    .index-container {
        flex-direction: column;
    }
    .speech-bubble::before {
        top: -20px;
        left: 15px;
        border-right: 10px solid transparent;
        border-bottom: 20px solid #8378b3;
        border-left: 10px solid transparent;
      }
    .portfolio-item{
        display: flex;
        flex-flow: column wrap;
        flex-shrink: 1;
    }
    .portfolio-image-container{
        flex: 1;
        flex-direction: column;
    }
    .portfolio-content{
        flex: 1;
        flex-direction: column;
    }
}