.pacifico-regular {
    font-family: "Pacifico", cursive;
    font-weight: 400;
    font-style: normal;
}

.belleza-regular {
    font-family: "Belleza", sans-serif;
    font-weight: 400;
    font-style: normal;
}


body {
    padding: 2vw 0;
    background-color: #f6efe2;
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

.banner-image {
    width: 100%;
    /* Make the image take up the entire width of its container */
    height: auto;
    /* Maintain the aspect ratio of the image */
    display: block;
    /* Removes any extra space below the image */
    margin: 2vw 0;
    /* No margins around the image */
    user-select: none;
    /* Makes the image non-selectable */
    -webkit-user-select: none;
    /* For Safari */
    -moz-user-select: none;
    /* For Firefox */
    -ms-user-select: none;
    /* For Internet Explorer/Edge */
}

section {
    position: relative;
}

span.header {
    display: inline-block;
    font-size: 8vw;
    font-weight: 100;
    font-style: normal;
    font-family: "Noto Sans Mono", monospace;
    position: absolute;
    top: -8.2vw;
    letter-spacing: -0.8vw;
}

span.header > span {
    font-size: 5vw;
    display: inline-block;
    position: relative;
    left: 1vw;
    letter-spacing: -0.4vw;
}

span.header > i {
    font-size: 3vw;
    position: absolute;
    bottom: 16%;
    right: -4vw;
}

span.header.image-grid-header {
    font-size: 5vw;
    top: -5.1vw;
    letter-spacing: -0.5vw;
}

.image-grid {
    display: flex;
    flex-direction: row;
    align-content: space-between;
    gap: 10px;
}

.image-grid img {
    box-sizing: content-box;
    flex: 1 1 40%;
    width: 48%;
}

section.has-header {
    margin-top: 8vw;
}

footer {
    background-color: #7a6e134d;
}

.main-container {
    padding: 2vw 15vw;
}

.contact-container {
    display: flex;
    flex-direction: row;
    gap: 3vw;
    font-size: .8vw;
    padding: 2vw 15vw;
}

.contact-header {
    position:relative;
    left: -0.2vw;
    display: block;
    font-size: 2vw;
    font-weight: 100;
    font-style: normal;
    font-family: "Noto Sans Mono", monospace;
}

.contact-left {
    display: inline-block;
    width: 68%;
}

.contact-right {
    display: flex;
    display: inline-block;
    width: 30%;
    position: relative;
    top: -1vw;
}

.contact-right > div {
    padding-bottom: 2vw;
}

/* Container class */
.photo-grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); /* Adjust minmax for desired cell size */
    gap: 0; /* No space between grid items */
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

/* Individual photo class */
.photo-grid-item {
    width: 100%;
    height: 100%; /* Maintain aspect ratio */
    border: 0; /* No border, but can be adjusted if needed */
    display: block; /* Remove any default margins or padding */
}

.set-series .photo-grid-item {
    height: unset;
}

.set-series a {
    align-content: center;
    background-color: black;
}

.gallery-container {
    padding: 0 13vw;
}

.gallery-description {
    border: .3vw solid #444;
    margin-top: 2vw;
    padding: 5vw;
    font-size: 1.265vw;
    text-align: justify;
    display: grid;
    grid-template-columns: 2fr 2fr;
    gap: 5vw;
    color: #444;
}

.gallery-description span.title {
    font-size: 2vw;
}

.gallery-description .signature {
    text-align: right;
    margin-top: 5vw;
}

.gallery-description .right-section .content {
    font-size: 1.265vw;
    text-align: left;
}

.gallery-section-wrapper {
    float: left;
    position: relative;
    padding: 0;
}

.gallery-section {
    padding: 0 2vw;
}

.gallery-menu {
    padding: 0 15vw;
    display: flex;
    gap: 3vw;
    font-size: 3vw;
    font-family: "Noto Sans Mono", monospace;
    font-weight: 300;
    color: #999;
}

.gallery-menu li.selected {
    color: #333;
}

.gallery-menu li a {
    text-decoration: none;
    color: unset;
}

.gallery-menu li a:hover {
    color: #333;
}

.profile-container {
    padding: 2vw 15vw;
    font-size: 0.8vw;
}

/* General reset for the lists to remove bullets and padding */
.profile-container ul {
    list-style-type: none; /* Removes bullets */
    padding: 0; /* Removes padding */
    color: #333;
}

/* Styling for the list titles */
.profile-container .list-title {
    font-size: 2.5vw; /* Larger text for titles */
    font-weight: bold; /* Make the title bold */
    margin-top: 2vw; /* Space above each new list */
    margin-bottom: 1vw; /* Space between title and list items */
    color: #333; /* Dark grey color for the title */
}

.profile-container .list-title.sublist {
    font-size: 2vw;
}

/* Styling for each list item */
.profile-container .list-item {
    font-size: 1vw; /* Standard text size for items */
    margin-bottom: 5px; /* Space between items */
}

/* Styling for the year in each item */
.profile-container .year {
    font-weight: bold; /* Make the year bold */
    margin-right: 1vw; /* Space between the year and the event description */
}

/* Optional: style to increase the readability */
.profile-container .list-item::after {
    content: "";
    display: block;
    clear: both;
}

#gallery_8x10 .image-grid-header {
    top: -6.1vw;
}