@font-face {
    font-family: NowRegular;
    src: url(fonts/Now-Regular.otf);
  }

@font-face {
    font-family: NowMedium;
    src: url(fonts/Now-Medium.otf);
}

@font-face {
    font-family: NowBold;
    src: url(fonts/Now-Bold.otf);
}

@font-face {
    font-family: NowLight;
    src: url(fonts/Now-Light.otf);
}

@font-face {
    font-family: NowThin;
    src: url(fonts/Now-Thin.otf);
}


body {
    font-family: NowLight;
    overflow-x: hidden; /* Hide horizontal scrollbar */
    background-color: #D1D1D1;
}

/* ::-webkit-scrollbar {
    display: none;
} */

h1{
    font-family: NowBold;
    font-size: 10vw;
}

h2 {
    font-family: NowBold;
    font-size: 2rem;
}

h3 {
    font-size: 2.5rem;
    font-family: NowBold;
}
h4{
    font-size: 1.8rem;
    font-family: NowBold;
}
li{
    font-family: NowLight;
    font-size: 1.15rem;
    line-height: 170%;
}
p{
    font-family: NowLight;
    font-size: 1.15rem;
    line-height: 170%;
}
a {
    text-decoration: none;
}
a:hover {
    color: inherit;
    text-decoration: none;
}

b {
    font-family: NowBold;
}

img {
    width: 100%;
}

strong {
    font-family: NowMedium;
}

.pl-6 {
    padding-left: 10vw;
}

.pr-6 {
    padding-right: 10vw;
}
.pl-7{
    padding-left: 20vw;
}
.pr-7 {
    padding-right: 20vw;
}
.pt-6 {
    padding-top: 10vw;
}



/* The Beginning */
.beginning {
    background-color: black;
    height: 100vh;
    justify-content: center;
    align-items: center;
}


#enter {
    
    background: url(imgs/closeddoor.png) no-repeat ;
    background-size: contain;
    background-position: center;
    border: none;
    width: 250px;
}

#enter:hover {
    background: url(imgs/opendoor.png) no-repeat;
    background-size: contain;
    background-position: center;
}
#enter img{
    width: 250px;
    opacity: 0%;
}


/* Navbar */
#mainNavbar {
    font-family: NowThin;
    font-size: 1.2rem;  
}

#mainNavbar .nav-link {
    letter-spacing: 2px;
    color: white;
    font-size: 1.2rem;
}
#mainNavbar .nav-link:hover {
    -webkit-mask-image: linear-gradient(-75deg, rgba(0,0,0,.6) 30%, #000 50%, rgba(0,0,0,.6) 70%);
    -webkit-mask-size: 200%;
    animation: shine 2s infinite;
  }
  
  @-webkit-keyframes shine {
    from {
      -webkit-mask-position: 150%;
    }
    
    to {
      -webkit-mask-position: -50%;
    }
  }

#mainNavbar .light .nav-link {
    color: #0A0A0A;
    font-size: 1.2rem;
}




.nav-item{
    padding-right: 50px;
}
.navbar.scrolled {
    background-color: #0A0A0A;
    transition: background 500ms;
}

.navbar.scrolled .nav-link{
    color: #d1d1d1 !important;
    transition: background 500ms;
}

.navbar-brand img{
    width: 60px;
}




/* Landing */




.js-fade-slide-entry {
    opacity: 0; /* used for animated fade-in */
    transform: translateY(15%); /* used for animated slide-up*/
    transition: opacity 0.7s ease-in-out, transform 0.7s ease-in-out
  }


#hero {
    height: 60vw;
    background: url(imgs/background.png) no-repeat;
    background-size: cover;
}


.container-fluid {

    height: 50.9vw;
    margin-top: 0px;
    padding-top: 0%;

}





#intro img{
    width: 30vw;
}

#projects {
    width: 3vw;
}

#thisway {
    width: 3vw;
}

.container-fluid .inner{
    height: 25vw;
    margin-top: 15%;
}



#dots {
    width: 15vw;
}

#juice {
    width: 8vw;
    max-width: 5rem;
}

#me {
    margin-top: -35vw;
    width: 30vw;
}






/* Section 1 */

#section1 {
    background: url(imgs/background1.png) no-repeat;
    background-size: cover;
    background-position-x: center;
}
#vstripe1 {
    width: 0.3vw;
}

#section1foil {
    width: 7vw;
}

#LI {
 width: 20vw;
}


.smallup {
    margin-top: -5%;
}

.mdup{
    margin-top: -8%;
}
.up {
    margin-top: -15%;
}

.upMore {
    margin-top: -30%;
}

.down {
    margin-top: 13%;
}

.left {
    margin-left: -10%;
}

.spacer {
    height: 15vw;
}

.thumbnails{
    transform-style: preserve-3d;
    height: 22vw;
}

.thumbnails h2{
    letter-spacing: 3px;
}

.projectlight h1, .projectlight h2, .projectlight p{
    transform: translateZ(20px);
    color: #0A0A0A;
}

.projectlight:hover h1,.projectlight:hover h2,.projectlight:hover p {
    color: white;
}


.projectdark h1, .projectdark h2, .projectdark p{
    transform: translateZ(20px);
    color: #D1D1D1;
}
.projectdark:hover h1, .projectdark:hover h2, .projectdark:hover p  {
    color: #0A0A0A;
}



.project1:hover   {
    background: url(imgs/thumbnail_shop.png) no-repeat;
    background-size: contain;  
}

.disabled:hover {
    cursor: not-allowed;

}


.project2:hover {
    background: url(imgs/thumbnail8.png) no-repeat;
    background-size: contain;
}

.project3:hover   {
    background: url(imgs/EOportalthumbnail.png) no-repeat;
    background-size: contain;  
}

.project4:hover   {
    background: url(imgs/uwuxthumbnail.png) no-repeat;
    background-size: contain;  
}

.project5:hover   {
    background: url(imgs/thumbnail2.png) no-repeat;
    background-size: contain;  
}

.project6:hover   {
    background: url(imgs/thumbnail6.png) no-repeat;
    background-size: contain;  
}

.project7:hover   {
    background: url(imgs/thumbnail7.png) no-repeat;
    background-size: contain;  
}

.project8:hover   {
    background: url(imgs/thumbnail8.png) no-repeat;
    background-size: contain;  
    
}


/* Section 2 */
#section2 {
    background: url(imgs/background2.png) no-repeat;
    background-size: cover;
    background-position-x: center;
}



/* Section 3 */

#section3 {
    background: url(imgs/background3.png) no-repeat;
    background-size: cover;
}


/* footer */

.footer{
    height: 25vw;
    background: url(imgs/footerbackground.png) no-repeat;
    background-size: cover;
    padding-left: 15vw;
    padding-right: 15vw;
    padding-top: 10vw;
    padding-bottom: 10vw;
}

#homefooter{
    height: 35vw;
    background: url(imgs/homefooter.png);
    background-size: cover;
    padding-left: 15vw;
    padding-right: 15vw;
    padding-top: 10vw;
    padding-bottom: 10vw;
}

.footer h2 {
    color: #D1D1D1;
    font-size: 3vw;
    letter-spacing: 3px;
}

.footer p {
    color: #D1D1D1;
}

.footer .icons{
    min-width: 20px;
    width: 4vw;
}
/* section 4 */
#section4 {
    background-color: #0A0A0A;
    height: 20vw;
}


@media (max-width: 990px) {
    #projects {
        margin-top: -10%;
        width: 2vw;
    }
    
    #thisway {
        width: 2vw;
    }

    #me {
        margin-top: -45vw;
    }


}

@media (max-width: 768px) {

    html, body {
        overflow-x: hidden;
      }

    body {
        position: relative
    }

    h2 {
        font-size: 2rem;
    }

    h3{
        font-size:  1.5rem;
    }

    .row {
        padding-left: 0;
        padding-right: 0;
        margin-left: 0px;
        margin-right: 0px;

    }
    
    .pr-6, .pl-6, .pr-7, .pl-7 {
        padding-right: 0vw;
        padding-left: 0vw;
    }

    .col-10 {
        padding: 0px;
    }

    #mainNavbar {
        color: white !important;
        width: 100vw;
        background-color: #0A0A0A;
    }

    .navbar-light {
        color: #D1D1D1;
    }

    .navbar-toggler{
        border-color: #D1D1D1;
        color: #D1D1D1 !important;
        opacity: 100%;
        background-color: #D1D1D1;
        border-radius: 0px;
        
    }

    #mainNavbar .light .nav-link {
        color: #D1D1D1;
        font-size: 1.2rem;
    }
    .navbar-brand img{
        margin-left: -4vw;
        width: 60px;
    }

    #hero {
        height: 705px;
        background: url(imgs/background.png) no-repeat;
        background-size: cover;
        width: 100vw;
        padding-right: 0%;
        padding-left: 0%;
        margin: 0%;
    }
    
    #intro{
        margin-top: 30%;

    }
    
    #intro img{
        width: 50vw;
    }
    
    #projects {
        padding-top: 20px;
        width: 5vw;
    }
    
    #thisway {
        padding-top: 20px;
        width: 5vw;
        margin-left: -4vw;
    }
    
    .container-fluid .inner{
        height: 100vh;
        width: 100vw;
        margin-top:-1000px;
        padding-top: 500px;
    }
    
    #dots {
        margin-top: 100px;
        padding-top: 40vw;
        width: 200px;
    }
    
    #juice {
        position: absolute;
        margin-top: 100px;
        width: 200px;
        max-width: 5rem;
        margin-left: 70vw;
 
    }
    #me {
        position: absolute;
        margin-left: 15vw;
        margin-top: -165vw;
        padding-top: 247px;
        width: 80vw;
    }
    
    #foil {
        
        width: 90vw;
        margin-top: -100px;
        margin-left: 15vw;
        margin-right: 0vw;

    }

    .thumbnails{
        height: 40vw;
        margin-left: 10vw;
        

    }

    .container-fluid {

        height: 100vw;
        margin-top: 0px;
        padding-top: 0%;
    
    }


    
    #section1 {
        background: url(imgs/background1mobile.png) no-repeat;
        background-size: contain;
        background-position-x: center;
    }
    #vstripe1 {
        width: 0.3vw;
    }

    #section1foil {
        width: 7vw;
    }

    #LI {
    width: 20vw;
    }


    .smallup {
        margin-top: 0%;
    }

    .mdup {
        margin-top: 0%;
    }

    .up {
        margin-top: 0%;
    }

    .upMore {
        margin-top: 0%;
    }

    .down {
        margin-top: 0%;
    }

    .left {
        margin-left: 0%;
    }

    .spacer {
        height: 0vw;
    }


    .projectlight h1{
        color: #D1D1D1;
    }
    .projectlight h2{
        color: #D1D1D1;
    }

    .projectlight:hover h1 {
        color: #D1D1D1;
    }
    .projectlight:hover h2 {
        color: #D1D1D1;
    }

    .projectdark h1 {
        color: #0A0A0A;
    }
    .projectdark h2 {
        color: #0A0A0A;
    }
    .projectdark:hover h1 {
        color: #0A0A0A;
    }
    .projectdark:hover h2 {
        color: #0A0A0A;
    }


    .project1  {
        margin-top: -140px;
        background: url(imgs/thumbnail_shop.png) no-repeat;
        background-size: contain;  
    }
    .project2 {
        margin-top: -20px;
        background: url(imgs/thumbnail8.png) no-repeat;
        background-size: contain;
    }

    .project3   {

        margin-top: 20px;
        background: url(imgs/EOportalthumbnail.png) no-repeat;
        background-size: contain;  
    }

    .project4   {
        margin-top: -50px;
        background: url(imgs/uwuxthumbnail.png) no-repeat;
        background-size: contain;  
    }

    .project5   {
        margin-top: -30px;

        background: url(imgs/thumbnail2.png) no-repeat;
        background-size: contain;  
    }

    .project6  {
        margin-top: 20px;

        background: url(imgs/thumbnail6.png) no-repeat;
        background-size: contain;  
    }



    /* Section 2 */
    #section2 {
        background: url(imgs/background2mobile.png) no-repeat;
        background-size: contain;
        background-position-x: center;
    }



    /* Section 3 */

    #section3 {
        padding-right: 0;
        padding-left: 0;
        background: url(imgs/background3mobile.png) no-repeat;
        background-size: contain;
    }

    .footer .icons{
        width: 15px;
    }

    .footer{
        height: 35vw;
    }


    

}



/* Other sites */

#sitetitle {
    background: url(imgs/other-site-title.png) no-repeat;
    background-size: contain;
    background-position-x: center;
    padding: 10vw;
}

#sitetitle h1{
    font-size: 8vw;
}

#sections {
    height: fit-content;
    background-color: #ffffff;
}

#sections h2, #sections-dark h2{
font-size: 3.5vw;
}


#sections-dark {
    color: #f1f1f1;
    height: fit-content;
    background-color: #0a0a0a;
}

#sections-grey {
    height: fit-content;
    background-color: #D1D1D1;
}



/* hyivy*/

#rationale {
    background-color: #F8FFFE;
    box-shadow: 0px 5px 15px 5px #7e7e7e2a;
    border-radius: 1rem;
}

#rationale b{
    color: #3AADAA;
}

#rationale1 {
    color: #D1D1D1;
    border-radius: 1rem;
    margin-left: -16.67%;
    background-color: #333333c2;
    backdrop-filter: blur(10px);
    box-shadow: 0px 5px 15px 5px #7e7e7e34;
}
#rationale1 h4{
    color: white;;
}

@media (max-width: 768px) {
    #rationale1 {
        margin-left: auto;
    }
}


#device, #gamification {
    margin-left: -20%;
}

#devicetxt{
   margin-left: -9%;
}

@media (max-width: 768px) {
    #device, #gamification {
        margin-left: -5%;
    }
    #device {
        margin-left: 0%;
        padding: 15px !important;
    }
}




/*  */
#center-me {
    margin-left: auto;
    margin-right: auto;
    max-width: 90vw;
}





/* Meraki */

.bg-bl{
    background-color: #0A0A0A;
    
}

.bg-bl p{
    color: white;
    
}

#merakisection2 {
    background: url(imgs/meraki3.png) no-repeat;
    background-size: contain;
    background-position-x: center;
    height: 52.45vw;
}

#merakibigsection {
    background: url(imgs/meraki6.png) no-repeat;
    background-size: contain;
    background-position-x: center;
    height: 152.6vw;

}

.lower {
    z-index: 1;
}

.higher {
    z-index: 2;
}
.blurb h2 {
    color: #ea1c2c;
    font-weight: 100;
    font-size: 2.5rem;
}

.blurb p {
    color: #f498b8;
    font-weight: 100;
    font-size: 1.125rem;
    line-height: 2;
}


/* Spline stuff */
.canvas-background-3d {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 1200px;
    margin: 0;
}
.canvas-background-3d canvas {
    outline: 0;
    border: none;
    width: 100%!important;
    height: 100%!important;
    object-fit: contain;
    object-position: center;
}






/* Kaiju */
.kaiju img{
    width: 100%;
    margin-bottom: 50px;
}



@media (max-width: 768px) {

    /* Other sites */
    #sitetitle {
        background: url(imgs/sitetitlebackgroundmobile.png) no-repeat;
        background-size: contain;
        background-position-x: center;
        padding: 10vw;
    }

    #sitetitleabout{
        background: url(imgs/other-site-title.png) no-repeat;
        background-size: cover;
        background-position-x: center;
        padding: 10vw;
        height: 51.33333vw;
    }

    #aboutme {
        width: 80%;
        margin-top: 20vw;
    }

    #sitetitle h1{
        font-size: 8vw;
        margin-top: 15vh;
    }
    
    
    #sections h2, #sections-dark h2{
        font-size: 3rem;
    }
    
    /* hyivyweb */
    
    /* hyivyapp */
    #lotsapps {
        margin-left:0;
        margin-right: 0;
        background: url(imgs/blank.png);
        background-size: contain;
        background-position-x: center;
        height: 180.6vw;
    }
    
    #apps {
        padding-left: 0;
        padding-right: 0;
        margin-left:-15px;
        margin-right: 0;
        width: 100vw;
    }



    /*  */
    #center-me {
        margin-left: auto;
        margin-right: auto;
    }
    
    #game {
        margin-top: 470px;
    }

    #meraki {
        max-width: 100vw;
        margin-left: -15px;
        margin-right: -15px;
    }
    
    /* Meraki */
    
    .bg-bl{
        background-color: #0A0A0A;
        
    }
    
    .bg-bl p{
        color: white;
        
    }
    
    #merakisection2 {
        background: url(imgs/blank.png);
        background-size: contain;
        background-position-x: center;
        height: 52.45vw;
    }
    
    #merakibigsection {
        background: url(imgs/blank.png);
        background-size: contain;
        background-position-x: center;
        margin-left: -15px;
        margin-right: -15px;
        width: 100vw;

    
    }

    #encounter {
        margin-top: -70vh;
    }

    #weworkedthrough {
        margin-top: 40vh;
    }


}

/* EO Portal */
.data {
    min-height: 350px;
    height:fit-content; 
    color: white; 
    background-color: #333333; 
    border-radius: 30px;
}



/* About Page */
.about img {
    object-fit: cover;
    height: 60vh;
    width: 100%;
}
.about a{
    text-decoration: none;
    color: #0A0A0A;
}
.about h1{
    font-size: 6rem;
}

#aboutpic{
    height: 70vh;
}

@media (max-width: 768px) {
    .about h1{
        font-size: 3rem;
    }
    #aboutpic{
        height: 50vh;
    }
}
.carousel-item img{
    object-fit: cover;
    height: 60vh;
    width: 100%;
}



/* Modals */

.modal-dialog {

    max-width: 95vw !important;
    text-align: center;
}

button {
    padding: 0px;
    margin: 0px;
    border: none;
    background-color: transparent;
}

.modal-dialog img {
    margin: auto;
    max-height: 95vh;
    max-width: 100%;
    object-fit: contain;
}




/* Art Page */
#arts {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
}

.card {
    -webkit-column-break-inside: avoid;
    /* Chrome, Safari, Opera */
    page-break-inside: avoid;
    /* Firefox */
    break-inside: avoid;
    /* IE 10+ */
    margin-bottom: 10px;
    transition: box-shadow 400ms cubic-bezier(.2,0,.7,1), transform 200ms cubic-bezier(.2,0,.7,1);
    background-color: transparent;
    border: none;
    border-radius: 0px;
}

.card:hover {
    transform: translate(0px, -2px);
    box-shadow: 0px 5px 10px #88888848;
}

@media (max-width: 1100px) {
    #arts {
        -moz-column-count: 2;
        -webkit-column-count: 2;
        column-count: 2;
    }
}

@media (max-width: 835px) {
    #arts {
        -moz-column-count: 1;
        -webkit-column-count: 1;
        column-count: 1;
    }
}
.card-img-top {
    border-radius: 0px;
    object-fit: cover;
    object-position: 50% 50%;
}




/* Animations */
.fade-in-bottom {
	-webkit-animation: fade-in-bottom 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	        animation: fade-in-bottom 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

@-webkit-keyframes fade-in-bottom {
    0% {
      -webkit-transform: translateY(50px);
              transform: translateY(50px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1;
    }
  }
  @keyframes fade-in-bottom {
    0% {
      -webkit-transform: translateY(50px);
              transform: translateY(50px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateY(0);
              transform: translateY(0);
      opacity: 1;
    }
  }

.fade-in-left {
	-webkit-animation: fade-in-left 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	        animation: fade-in-left 0.6s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

 @-webkit-keyframes fade-in-left {
    0% {
      -webkit-transform: translateX(-50px);
              transform: translateX(-50px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1;
    }
  }
  @keyframes fade-in-left {
    0% {
      -webkit-transform: translateX(-50px);
              transform: translateX(-50px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1;
    }
  }
  

.fade-in-right {
	-webkit-animation: fade-in-right 1.5s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
	        animation: fade-in-right 1.5s cubic-bezier(0.390, 0.575, 0.565, 1.000) both;
}

@-webkit-keyframes fade-in-right {
    0% {
      -webkit-transform: translateX(50px);
              transform: translateX(50px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1;
    }
  }
  @keyframes fade-in-right {
    0% {
      -webkit-transform: translateX(50px);
              transform: translateX(50px);
      opacity: 0;
    }
    100% {
      -webkit-transform: translateX(0);
              transform: translateX(0);
      opacity: 1;
    }
  }
  
  .tracking-in-expand {
	-webkit-animation: tracking-in-expand 0.7s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
	        animation: tracking-in-expand 0.7s cubic-bezier(0.215, 0.610, 0.355, 1.000) both;
}

@-webkit-keyframes tracking-in-expand {
    0% {
      letter-spacing: -0.5em;
      opacity: 0;
    }
    40% {
      opacity: 0.6;
    }
    100% {
      opacity: 1;
    }
  }
  @keyframes tracking-in-expand {
    0% {
      letter-spacing: -0.5em;
      opacity: 0;
    }
    40% {
      opacity: 0.6;
    }
    100% {
      opacity: 1;
    }
  }
  

