@charset "utf-8";

/* ––––––––––––––––––––––––––––––––––––––––––––––––––––– */
/* Copyright 2025. Clarisse Bret. 
/* CSS styling
/* ––––––––––––––––––––––––––––––––––––––––––––––––––––– */

/* ––––––––––––––––––––––––––––––––– */
/* GENERAL
/* ––––––––––––––––––––––––––––––––– */

* {
    margin: 0px;
    padding: 0px
}

*, ::after, ::before {
    box-sizing: border-box
}

html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
  }

body {
    width: 100vw;
    height: 100dvh;
    font-family: "new-spirit", serif;
    text-align: left;
    color: black;
    background-color: #FAF7F4;
    -webkit-font-smoothing: subpixel-antialiased;
}

textarea:focus, input:focus {
    outline: none
}

*:focus {
    outline: none
}

::-webkit-scrollbar {
    display: none;
}

button {
    border: none;
}

a {
    color: black;
    text-decoration: none;
}

p a {
    font-weight: 500;
    font-style: italic;
}

/* ––––––––––––––––––––––––––––––––– */
/* TEXT STYLING
/* ––––––––––––––––––––––––––––––––– */

p {
    font-size: 17px;
    line-height: 23px;
    font-weight: 300;
    font-style: normal;
}

b {
    font-weight: 400;
    border-bottom: .5px dashed;
}

/* h1 is used for page titles */
h1 {
    font-weight: 600;
    font-size: 36px;
    line-height: 44px;
}

/* h2 is used on the landing page for project links*/
h2 {
    font-weight: 400;
    font-size: 44px;
    line-height: 48px;
}

/* h3 is used for paragraph titles*/
h3 {
    font-weight: 600;
    font-size: 17px;
    line-height: 23px;
}

/* Toggle this class for small paragraph text */

.small {
    font-size: 15px !important;
    line-height: 20px !important;
}

/* ––––––––––––––––––––––––––––––––– */
/* NAVIGATION
/* ––––––––––––––––––––––––––––––––– */

.topBar {
    position: fixed;
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    top: 0;
    width: 100vw;
    padding: 1vw 1vw;
    z-index: 1;
    gap: 2vw;
}

.topBar p {
    font-family: new-spirit-condensed, serif;
    font-size: 18px;
    line-height: 18px;
    letter-spacing: .02rem;
    font-weight: 500;
}

.topBar p {
    color: #EB9F00;
}

.topBar .spacer {
    flex: auto;
}

.topBar a p:hover {
    color: rgb(148, 105, 248);
}

.topBar a p:active {
    color: rgb(148, 105, 248);
}

/* ––––––––––––––––––––––––––––––––– */
/* FOOTER
/* ––––––––––––––––––––––––––––––––– */

.footer { 
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    width: 100vw;
    padding-top: 10vh;
    padding-bottom: 10vh;
    overflow: hidden;
}

.footer p {
    opacity: .7
}


.footer h3 {
    font-size: 20px;
}

.footer a {
    font-weight: 300;
    font-style: normal;
}

.footer p a:hover {
color: rgb(132, 100, 234);
}

/* ––––––––––––––––––––––––––––––––– */
/* SECTION LAYOUT
/* Column text section, Row text section, Photo gallery
/* ––––––––––––––––––––––––––––––––– */

.container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}

.stack { 
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
}

.row { 
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: flex-start;
    width: 100%;
    height: 33vh;
}

.stack img, .stack video {
    width: 100%;
    object-fit: contain;
}

.row img, .row video {
    height: 100%;
    object-fit: cover;
    max-width: 60%;
}

.xxsmallGap {
    gap: 4px;
}

.xsmallGap {
    gap: 6px;
}

.smallGap {
    gap: 12px;
}

.mediumGap {
    gap: 24px;
}

.largeGap {
    gap: 36px;
}

.xlargeGap {
    gap: 56px;
}

/* ––––––––––––––––––––––––––––––––– */
/* INDEX GALLERY
/* ––––––––––––––––––––––––––––––––– */

.heroContainer {
    height: 100dvh;
    width: 100%;
    overflow-y: scroll;
    scroll-snap-type: y mandatory;
}

.heroImage {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width:100vw;
    height: 100dvh;
    overflow: hidden;
    scroll-snap-align: start;
}

.heroImage img, .heroImage video {
    position: absolute;
    height: 100dvh;
    width: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.heroImage h2 {
    position: absolute;
    text-align: left;
    width: 100%;
    left: 1.5vw;
    bottom: 1.5vw;
    color: #EB9F00;
}

.heroImage h2::after {
    content: "";
    background-image: url('../images/arrow.svg');
    display: inline-block;
    height: 40px;
    width: 50px;
    background-size: 100% 100%;
    background-repeat: no-repeat;
    vertical-align: -12%;
}

/* ––––––––––––––––––––––––––––––––– */
/* MARGINS
/* Small, Medium, Large
/* ––––––––––––––––––––––––––––––––– */

.xsmallMargin {
    margin: 0 1vw;
}

.smallMargin {
    margin: 0 50vw 0 2vw;
}

.mediumMargin {
    margin: 0 30vw 0 20vw;
}

.largeMargin {
    margin: 0 32vw 0 24vw
    /* margin: 24vh 32vw 24vh 16vw; */
}

/* ––––––––––––––––––––––––––––––––– */
/* SEPARATORS
/* Small, Medium, Large
/* ––––––––––––––––––––––––––––––––– */

.xsmallSeparator {
    margin-top: 1vh;
}

.smallSeparator {
    margin-top: 1.8vh;
}

.mediumSeparator {
    margin-top: 3.6vh;
}

.largeSeparator {
    margin-top: 8vh
}

.xlargeSeparator {
    margin-top: 18vh
}