:root {
  --highlight: #1C252B;
  --textcolour: #1C252B;
}

@font-face {
    font-family: "Neue Haas Unica";
    src: url('NeueHaasUnicaPro-Regular.woff');
}

@font-face {
    font-family: "Trebuchet MS";
    src: url('trebuc.woff');
}

.distort-1 {
      filter: url(#distort-1);
}

.distort-2 {
      filter: url(#distort-2);
}

html, body {
    font-size: 18px;
    height: 100%;
    background: #FAFBFF;
    color: var(--textcolour);
    font-family: "Trebuchet MS";
}

.background-full {
    position: fixed;
    height: 100vh;
}


/* Initial hidden state */
.body-div.preload {
    opacity: 0;
    transform: translateY(20px); /* Example: slide in effect */
    
}

/* Final visible state */
.body-div {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 1s ease-in-out, transform 1s ease-in-out;
}

.main-content {
    display: flex;
    flex-direction: column; /* Stack content vertically */
    min-height: 100vh; /* Ensure the wrapper takes up at least the viewport height */
}

p {
    font-size: 1rem;
    line-height: 2rem;
    margin: 0;
    margin-bottom: 0.318rem;
}

a {
    color: var(--highlight);
    text-decoration: underline;
}

a:hover {
    color: #4F93DC;
}

.header-text {
    margin-bottom: 1.3rem;
    max-width: 650px;
}

.icon {
    opacity: 0.7;
    margin: auto;
    position: fixed;
    left: 0;
    right: 0;
    text-align: center;
    width: 70px;
    height: 70px;
    z-index: -1;
    display: none;
    transition: top 0.5s ease-in-out, bottom 0.5s ease-in-out; /* Add transition for top and bottom properties */
}

.icon-image-one {
    top: 3rem;
}

.icon-image-two {
    top: 45%;
}

.icon-image-three {
    bottom: 3rem;
}

.redacted {
    background-color: var(--textcolour);
    color: var(--textcolour) !important;
    display: inline-block;
    line-height: 100% !important;
}

.svg-filter {
    position: absolute;
}

.header {
    margin-bottom: 0.618rem;
}

.bottom-entry {
    margin-bottom: 1.618rem;
}

.project-title {
    cursor: pointer;
    color: var(--textcolour);
    text-decoration: underline;
}

.project-title:hover {
    color: #487DDE;
}

.project-title-expanded {
    padding-left: 2rem;
}

.out-links {
    margin-bottom: 0rem;
    line-height: 1.618rem;
    text-decoration: underline;
}

.pointer {
    cursor: pointer;
}

/* Hidden state */
.hidden {
    display: none; /* Completely hide the element */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.5s ease-in-out;
}

/* Visible state */
.visible {
    display: block; /* Make the element visible */
    opacity: 1;
    visibility: visible;
    transition: opacity 0.5s ease-in-out;
}

.desktop-hidden {
display: none;
}

.mobile-hidden {
display: block;
}


.panel {
    display: none;
}

.detail-text {
    font-size: 0.854rem;
    line-height: 1.4rem;
}

.smallest-text {
    font-size: 0.618rem;
    line-height: 1.2rem;
}

.grid-container {
    display: flex; /* Flex container to handle wrapping */
    flex-wrap: wrap; /* Allow items to wrap to the next row */
}

.body-container {
    padding: 2.618rem 2.618rem 0rem 2.618rem; /* Add padding */
}


.detail-image {
    width: 90%;
    opacity: 70%;
}

/* On hover, change opacity to 100% */
.detail-image:hover {
    opacity: 1;
}

/* On hover, change opacity to 100% */
.detail-image:hover {
    opacity: 1;
}

.foot-container {
    padding: 2.618rem 2.618rem 2.618rem 2.618rem; /* Add padding */
    flex: 0;
}

/* Golden Ratio Widths */
.golden-1 {
    flex: 0 0 100%; /* Full width */
}

.golden-2 {
    flex: 0 0 61.8%; /* Larger segment (1 / 1.618) */
}

.golden-3 {
    flex: 0 0 38.2%; /* Smaller segment (1 / (1.618^2)) */
}

.golden-4 {
    flex: 0 0 23.6%; /* Next smaller segment (1 / (1.618^3)) */
}

.golden-5 {
    flex: 0 0 14.6%; /* Next smaller segment (1 / (1.618^4)) */
}

.golden-6 {
    flex: 0 0 9.0%; /* Next smaller segment (1 / (1.618^5)) */
}

.golden-7 {
    flex: 0 0 5.57%; /* Next smaller segment (1 / (1.618^6)) */
}

.golden-8 {
    flex: 0 0 3.4%; /* Next smaller segment (1 / (1.618^7)) */
}


.details {
	display: none;
}

.detail-body {
    padding-right: 2.6rem;
    margin-bottom: 4.236rem;
}

.expanded .details {
	display: block;
}

.expanded {
    width: 100%;
}

.horizontal-list {
    display: flex; /* Makes the list items stack horizontally */
    padding: 0; /* Removes default padding */
    margin: 0; /* Removes default margin */
    list-style-type: none; /* Removes bullet points */
    flex-wrap: wrap;
}

.horizontal-list li {
    margin-right: 2.618rem; /* Adds space between items */
    margin-bottom: 0.816rem;
}

@media (max-width: 768px) {

    p, .detail-text{
        font-size: 0.804rem;
        line-height: 1.618rem;
    }

    .smallest-text {
        font-size: 0.528rem;
    }

    div[class^="golden-"]:not(.mobile) {
        flex: 0 0 100%;
    }

    .grid-container .golden-4.mobile:nth-of-type(1) {
    /* Styles for the first golden-4 */
        flex: 0 0 61.8%; /* Larger segment (1 / 1.618) */
    }

    .grid-container .golden-4.mobile:nth-of-type(2) {
        /* Styles for the second golden-4 */
        flex: 0 0 38.2%; /* Smaller segment (1 / (1.618^2)) */
    }

    .body-container {
        padding: 0rem 0.618rem 0rem 0.618rem; /* Add padding */
    }

    .foot-container {
        padding: 1.618rem 0.618rem 1.618rem 0.618rem; /* Add padding */
        flex: 0;
    }

    .detail-body {
        margin-bottom: 1.618rem;
        padding: 0rem;
    }

    .project-title-expanded {
        padding-left: 0;
        font-style: italic;
    }
    

    .detail-image {
        margin-bottom: 4.9rem;
        width: 100%;
    }

    .mobile-top-text {
        margin-top: 0.618rem;
        font-size: 1rem;
        line-height: 1.8rem;
    }

    .header {
        margin-top: 2.18rem;
        margin-bottom: 0.8rem;
    }

    .desktop-hidden {
        display: block;
    }

    .mobile-hidden {
        display: none;
    }

    .body-image {
        padding-top: 1.618rem;
    }

    .icon {
        opacity: 0.2;
    }

    .horizontal-list li {
        margin-bottom: 0rem;
    }

}
