/* Phones */
@media only screen and (max-width: 810px) {
    .hide-mobile {display: none;}
    .container-30 {padding: 15px 30px;}
    .container-50 {padding: 50px 30px;}
    #follower {display: none;}
    #intro {justify-content: space-between;}
    #intro h1 {font-size: 52px;}
    .subpage-img-header {height: 20vh;}
    .img-container {width: 100%;height: 15vh;}
    .split-container {flex-direction: column;}
    .split-container div:hover {flex: 6;}
}
/* Tablets */
@media only screen and (min-width: 810px) {
    .hide-desktop {display: none;}
    .container-30 {padding: 30px 50px;}
    .container-50 {padding: 50px 50px;}
    #follower {display: none;}
    #intro {justify-content: flex-end;}
    #intro h1 {font-size: 90px;}
    .subpage-img-header {height: 45vh;}
    .case-r h2 {
        mix-blend-mode: exclusion;
        color: white;
        position: absolute;
        top: 50%;
        transform: translate(-75%, -50%);
        font-size: 50px;
        font-weight: 700;
    }
    .case-l h2 {
        mix-blend-mode: exclusion;
        color: #dedede;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translate(75%, -50%);
        font-size: 50px;
        font-weight: 700;
    }
    .img-container {width: 40%;height: 40vh;}
    .split-container {flex-direction: row;}
    .split-container div:hover {flex: 4;}
}
/* Desktop */
@media only screen and (min-width: 1200px) {
    .container-30 {padding: 30px 100px;}
    .container-50 {padding: 50px 100px;}
    #follower {display: block;}
    #intro h1 {font-size: 120px;}
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    cursor: none !important; /* hide the mouse cursor */
    height: 100%;
    background-color: #f2f2f2;
}

a:hover {
    cursor: none;
}

.flexrow {
    display: flex;
    flex-direction: row;
}

.bg-img-UI, .bg-img-anim, .bg-img-3D, .bg-img-SpCanvas {
    z-index: -1;
    background-color: #222222;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: 0.5s;
}

.bg-img-UI > img, .bg-img-anim > img, .bg-img-3D, .bg-img-SpCanvas > img {
    height: 50%;
    width: 25%;
    object-fit: cover;
}

body.hasHover:has(#UI-UX a:hover) > .bg-img-UI {
    opacity: 100%;
}

body.hasHover:has(#animations a:hover) > .bg-img-anim {
    opacity: 100%;
}

body.hasHover:has(#Viz-3D a:hover) > .bg-img-3D {
    opacity: 100%;
}

body.hasHover:has(#spotify-canvas a:hover) > .bg-img-SpCanvas {
    opacity: 100%;
}

.inter-medium {
  font-family: "Inter", sans-serif;
  font-optical-sizing: auto;
  font-weight: 100;
  font-style: normal;
  color: black;
}

.fixed-container {
    position: fixed;
    height: 100vh;
    width: 100%;
    pointer-events: none; /* allow click-through */
}

#follower {
    -webkit-backdrop-filter: invert(100%);
    backdrop-filter: invert(100%);
    position: absolute;
    pointer-events: none; /* allow click-through */
    width: 35px;
    height: 35px;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

body:has(a:hover) > div #follower {
    transition: width .2s, height .2s;
    width: 15px;
    height: 15px;
}

.container-50 {
    box-sizing: border-box;
}

.container-30 {
    box-sizing: border-box;
}

a {
    text-decoration: none;
    color: black;
}

header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-top: 10px;
    padding-bottom: 5px;
}

#logo-header {
    height: 55px;
}

header .menu {
    display: flex;
    gap: 24px;
    font-weight: 500;

}

/* Text styles */

h1, h2, h3, p {
    margin: 0;
}

.caps {
    text-transform: uppercase;
}

.underline {
    text-decoration: underline;
}

.center-text {
    text-align: center;
}

.text-blend a, .text-blend p, .text-blend h1, .text-blend h2 {
    mix-blend-mode: exclusion;
    color: white;
}

/* This area contains the style of the front page */

#intro {
    height: 90vh;
    display: flex;
    flex-direction: column;
    gap: 50px;
}

#intro h1 {
    line-height: 1em;
}

#intro h2 {
    align-self: flex-end;
    font-size: 52px;
    font-weight: 600;
    text-align: right;
}

.toggle, .hudsult, .hudsult-flex, .sosmo-1, .sosmo-1-flex, .sosmo-2, .sosmo-2-flex {
    display: none;
}

.active {
    display: inline-block;
}

#scrollAnimContainer {
    display: flex;
    align-items: center;
    gap: 20px;
}

#scrollAnimFrame {
    position: relative;
    width: 45px;
    height: 80px;
    border-style: solid;
    border-width: 4px;
    border-color: black;
    border-radius: 40px;
}

@keyframes scrollball {
    0%      {top: 30%;}
    50%     {top: 70%;}
    100%    {top: 30%;}
}

#scrollAnimBall {
    position: absolute;
    background-color: black;
    width: 40px;
    height: 40px;
    border-radius: 20px;
    left: 50%;
    top: 30%;
    transform: translate(-50%, -50%);
    animation: scrollball 3s ease-in-out infinite;
}

.case-r {
    position: relative;
    display: flex;
    justify-content: end;
    min-width: 0;
}

.case-l {
    position: relative;
    display: flex;
    justify-content: start;
    min-width: 0;
}

.img-container {
    position: relative;
}

.img-container img {
    display: block;
    width: 100%;
    height: 100%;
    object-position: center center;
    object-fit: cover;
    transition-duration: 0.4s;
}

body.hasHover .img-container img:hover {
    transform: scale(1.1);
}

.connect h2, .connect a {
    font-size: 2em;
}

.return {
    display: flex;
    font-weight: 700;
    font-size: 5vw;
    justify-content: space-around;
}

footer {
    display: flex;
    background-color: #222222;
    color: white;
    justify-content: space-between;
    align-items: center;
}

footer a {
    color: white;
}

/* Content on the subpages */

.subpage-img-header {
    width: 100%;
    object-position: center center;
    object-fit: cover;
}

model-viewer {
    width: 100%;
    height: 50vh;
}

.case-info {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.case-info h2 {
    font-size: 30pt;
}

.case-info p {
    font-weight: 300;
}

.case-info .weight-medium
{
    font-weight: 500;
}

.split-container {
    overflow: hidden;
    display: flex;
    width: 100%;
    height: 400px;
    min-height: 0;
    gap: 10px;
}

.split-container div {
    flex: 1;
    transition-duration: 1s;
    min-height: 0;
}

.split-container img {
    width: 100%;
    height: 100%;
    object-position: center center;
    object-fit: cover;
}

.split-container video {
    width: 100%;
    height: 100%;
    object-position: center center;
    object-fit: cover;
}

/* YouTube Responsive Embed */

.responsive-youtube {
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
}

.responsive-youtube iframe {
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    position: absolute;
}

/* Content on Spotify Canvas Page */

.case-info:has(.v1:hover) > .sosmo-1-flex {
    display: flex;
}

.case-info:has(.v1:hover) > .sosmo-1 {
    display: block;
}

.case-info:has(.v2:hover) > .sosmo-2-flex {
    display: flex;
}

.case-info:has(.v2:hover) > .sosmo-2 {
    display: block;
}

.case-info:has(.v3:hover) > .hudsult-flex {
    display: flex;
}

.case-info:has(.v3:hover) > .hudsult {
    display: block;
}
