@charset "UTF-8";

@import url("https://use.typekit.net/mbi1kze.css");

* {
    box-sizing: border-box;
}

/*container*/
body {
    margin: 0;
    overflow-x: hidden;
}
#container {
    width: 100%;
    padding: 15% 40px 0 40px;
    position: fixed;
    display: grid;
}

/*grid set-up*/
#top {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 20px;
    align-items: end;
    padding-bottom: 5px;
}
#name {
    grid-column: span 2;
    display: flex;
    align-items: flex-end;
    height: 129.25px;
    margin-bottom: 4px;
}
#homeimg {
    grid-column: span 2;
    align-self: end;
}
#title {
    grid-column: span 3;
    margin-bottom: 5px;
}
#bottom {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 20px;
}
#navigation {
    grid-column: span 2;
}
#info {
    grid-column: span 3;
}
#imageplaceholder {
    grid-column: span 7;
}

/*text styles*/
p {
    display: inline-block;
    font-family:"aileron";
    vertical-align: top;
    margin: 0;
    color: black;
    text-decoration: none;
}
#nametxt {
    font-weight: 700;
    font-size: 23.54px;
    cursor: default;
}
#infotxt {
    font-size: 14px;
    cursor: default;
}
#title {
    font-weight: 700;
    font-size: 18px;
    cursor: default;
}
a {
    display: inline-block;
    font-family:"aileron";
    vertical-align: top;
    color: black;
    text-decoration: none;
}
#email {
    font-size: 14px;
    cursor: default;
}
#resume {
    font-size: 14px;
    color: black;
    text-decoration: none;
}
#resume:hover {
    font-weight: 700;
    cursor: pointer;
}
#navbtns {
    padding-top: 20px;
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 0px;
}
#home {
    font-weight: 700;
    font-size: 18px;
}
#home:hover {
    cursor: pointer;
}
#gallery {
    font-weight: 700;
    font-size: 18px;
    padding: 5px 0 0 0;
    background: none;
    border: none;
    display: inline-flex;
    gap: 6px;
    align-items: flex-end;
    font-family: "aileron";
    cursor: pointer;
}
#gallery:hover {
    cursor: pointer;
}
.gallery {
    margin-bottom: 15px;
}
#projects {
    font-weight: 700;
    font-size: 18px;
    padding: 5px 0;
    background: none;
    border: none;
    display: inline-flex;
    gap: 6px;
    align-items: flex-end;
    font-family: "aileron";
    cursor: pointer;
}
#projects:focus-visible {
    outline: 2px solid #000;
    outline-offset: 2px;
}
#projectsDropdown {
    display: none;
    margin-top: 5px;
}
#projectsDropdown.is-open {
    display: block;
}
.allproj {
    font-size: 14px;
    display: block;
    margin-top: 5px;
    font-weight: 400;
    opacity: 0.5;
    transition: opacity 0.2s ease, font-weight 0.2s ease;
}
.allproj:hover {
    opacity: 1;
    font-weight: 700;
    cursor: pointer;
}

/*images*/
#portrait {
    width: 100px;
    height: 129.25px;
}
#dropdown {
    width: 14px;
    height: auto;
    margin-bottom: 2px;
    transition: transform 0.2s ease;
}
#projects.is-open #dropdown {
    transform: rotate(180deg);
}

/*scroll*/
#scroll {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    column-gap: 20px;
    row-gap: 8px;
    width: 100%;
    padding: 22.5% 40px 20px 40px;
    box-sizing: border-box;
}
#txtplaceholder {
    grid-column: 1 / span 5;
}
#imagelive,
.fullimg {
    grid-column: 6 / span 7;
    width: 100%;
    height: auto;
}
.fullimg img {
    width: 100%;
    height: auto;
}
.fullimg img:not(.slide) {
    display: block;
}
.fullimg video {
    width: 100%;
    height: auto;
    display: block;
    background-color: #ffffff;
    object-fit: cover;
}
.halfimg-row {
    grid-column: 6 / span 7;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    column-gap: 10px;
    row-gap: 10px;
    position: relative;
    z-index: 5;
}
.halfimg img {
    width: 100%;
    height: auto;
    display: block;
}
.halfimg-link {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-decoration: none;
    color: inherit;
    z-index: 10;
    cursor: pointer;
}
.halfimg-link .allproj {
    opacity: 0.5;
    font-weight: 400;
    transition: opacity 0.2s ease, font-weight 0.2s ease;
}
.halfimg-link:hover .allproj {
    opacity: 1;
    font-weight: 700;
}
.instarow {
    margin-top: -20px;
}
.video-wrapper {
    position: relative;
    width: 100%;
}
.insta-video {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 4px;
}
.video-wrapper > .mute-toggle {
    position: absolute;
    right: 12px;
    bottom: 12px;
    padding: 4px 10px;
    font-size: 12px;
    letter-spacing: 0.05em;
    border: 1px solid rgba(255, 255, 255, 0.8);
    background: rgba(0, 0, 0, 0.35);
    color: #fff;
    border-radius: 999px;
    cursor: pointer;
    transition: background 0.2s ease, border-color 0.2s ease;
}
.video-wrapper > .mute-toggle:hover,
.video-wrapper > .mute-toggle:focus-visible {
    background: rgba(0, 0, 0, 0.55);
    border-color: #fff;
}
.video-controls {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    pointer-events: none;
}
.video-control-btn {
    border: 1px solid rgba(255, 255, 255, 0.85);
    background: rgba(45, 45, 45, 0.75);
    color: #fff;
    font-size: 12px;
    padding: 4px 12px;
    border-radius: 999px;
    cursor: pointer;
    letter-spacing: 0.05em;
    transition: background 0.2s ease, border-color 0.2s ease;
    pointer-events: auto;
}
.video-control-btn:hover,
.video-control-btn:focus-visible {
    background: rgba(255, 255, 255, 0.25);
    border-color: #fff;
}
.video-controls .mute-toggle {
    position: static;
}
.seek-bar {
    flex: 1;
    -webkit-appearance: none;
    appearance: none;
    background: rgba(255, 255, 255, 0.4);
    height: 5px;
    border-radius: 999px;
    cursor: pointer;
    pointer-events: auto;
}
.seek-bar::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    border: none;
}
.seek-bar::-moz-range-thumb {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #fff;
    border: none;
}

/*slider*/
.slider {
    position: relative;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    -webkit-clip-path: inset(40px 0);
    clip-path: inset(40px 0);
}
.slider .slides {
    position: relative;
    width: 100%;
    display: flex;
    align-items: center;
}
.fullimg.slider {
    margin-top: -40px;
    margin-bottom: -40px;
}

.slide {
    display: none;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.slide.active {
    display: block;
    animation: fade 0.8s ease-in-out;
}

button.prev, button.next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  color: #e2e2e2;
  font-family: "Roboto Mono", monospace;
  font-size: 36px;
  cursor: pointer;
  padding: 0 10px;
  transition: color 0.2s ease;
  z-index: 1;
}

.prev { left: 10px; }
.next { right: 10px; }