/* ambienttv front page css */

@font-face {
    font-family: 'MSCHN-M';

    src:

        url('../../fonts/MSCHN-M.woff2') format('woff2'),
        url('../../fonts/MSCHN-M.woff') format('woff');

    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'MSCHN-XLItalic';

    src:

        url('../../fonts/MSCHN-XLItalic.woff2') format('woff2'),
        url('../../fonts/MSCHN-XLItalic.woff') format('woff');

    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@supports (height:100dvh) {
    :root {
        --unit-100vh: 100dvh;
    }
}

:root {
    --white: #FFFFFF;
    --black: #000000;
    --gray: #e0e0e0;
    --blue: #1fb7f7;
    --green: rgb(52, 205, 52);
    --unit-100vh: 100vh;
    --text-xl: 140%;
    --text-sm: 85%;
}

.bg-dark {
    background-color: #101010;
}

.bg-black {
    background-color: var(--black);
}

.bg-white {
    background-color: var(--white);
}

.bg-gray {
    background-color: var(--gray);
}

.bg-blue {
    background-color: var(--blue);
}

.bg-green {
    background-color: var(--green);
}

.inter {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
}

.inter-100 {
    font-weight: 100;
}

.inter-200 {
    font-weight: 200;
}

.inter-300 {
    font-weight: 300;
}

.inter-400 {
    font-weight: 400;
}

.inter-500 {
    font-weight: 500;
}

.inter-600 {
    font-weight: 600;
}

.inter-700 {
    font-weight: 700;
}



.inconsolata-100 {
    font-family: "Inconsolata", monospace;
    font-optical-sizing: auto;
    font-weight: 100;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;
}

.inconsolata-200 {
    font-family: "Inconsolata", monospace;
    font-optical-sizing: auto;
    font-weight: 100;
    font-style: normal;
    font-variation-settings:
        "wdth" 200;
}

.inconsolata-300 {
    font-family: "Inconsolata", monospace;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;
}

.inconsolata-600 {
    font-family: "Inconsolata", monospace;
    font-optical-sizing: auto;
    font-weight: 600;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;
}

.inconsolata-700 {
    font-family: "Inconsolata", monospace;
    font-optical-sizing: auto;
    font-weight: 700;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;
}

::-moz-selection {
    /* Code for Firefox */
    color: var(--white);
    background: var(--black);
}

::selection {
    color: var(--white);
    background: var(--black);
}

/* Sticky Footer
--------------------------------------------- */
.site {
    display: flex;
    min-height: var(--unit-100vh);
    flex-direction: column;
}

.site-main {
    flex: 1;
}

.post,
.page {
    margin: 0;
}

/* Devices Layout
--------------------------------------------- */
body {
    background-color: var(--gray);
    font-family: 'MSCHN-M', "Inter", sans-serif;
    font-optical-sizing: auto;
    font-style: normal;
    font-weight: 300;
}

.content-wrap {
    width: 100%;
    display: flex;
    min-height: var(--unit-100vh);
    position: relative;
}

.content-desktop {
    flex: 1;
    min-height: var(--unit-100vh);
    position: relative;
}

.content-mobile {
    width: 100%;
    max-width: 414px;
    min-height: var(--unit-100vh);
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.site-header {
    position: fixed;
    height: var(--unit-100vh);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    z-index: 1050;
    pointer-events: none;
    right: 0;
    top: 0;
}

.site-header a,
.site-header button,
.site-header .site-branding {
    pointer-events: all;
}

.site-header .site-branding {
    cursor: pointer;
}

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Links
--------------------------------------------- */

a,
a:visited {
    color: var(--black);
    text-underline-offset: 4px;
    text-decoration-style: dotted;
}

a:hover,
a:focus,
a:active {
    color: #191970;
    text-decoration-style: solid;
    outline: 0;
}

.content-mobile a {
    font-weight: bold;
    font-family: 'MSCHN-XLItalic';
}

/* Navigation
--------------------------------------------- */


.main-navigation {
    display: block;
    width: 100%;
    padding-bottom: 5rem;
}

.main-navigation ul {
    display: flex;
    flex-direction: column;
    list-style: none;
    margin: 0;
    padding-left: 0;
    gap: 1rem;
    align-items: flex-end;
    text-transform: lowercase;


}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
    left: auto;
}

.main-navigation li {
    position: relative;
    opacity: 0;
    font-size: var(--text-xl);
    line-height: 1.15;
}

.main-navigation a {
    --after-width: 0px;
    display: inline-block;
    text-decoration: none;
    color: var(--black);
    position: relative;
    padding: 0 32px 2px 8px;
    transition: all 250ms ease-in-out;
    font-family: 'MSCHN-M', "Inter", sans-serif;
    font-style: italic;
    font-weight: normal
}

.main-navigation li.current-menu-item a {
    color: var(--green) !important;
}

.main-navigation a:hover {
    padding: 0 32px 2px 32px;

}

.main-navigation a::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: var(--after-width);
    height: 100%;
    background-color: var(--black);
    z-index: -1;
    transition: all 250ms ease-in-out;

}

.menu-toggle {
    display: inline-block;
    border: 0;
    padding: 8px 32px 6px 36px;
    background-color: var(--black);
    color: var(--gray);
    border-radius: 0;
    line-height: 1.5;
    font-size: var(--text-sm);
    right: 0;
    bottom: 0;
    border-top-left-radius: 20px;
}

.menu-toggle:hover {
    color: var(--green);
}

.footer-menu {
    background-color: var(--bg-gray);
    transition: background-color 150ms ease-in-out;
}

.menu-title {
    text-transform: lowercase;
    color: var(--black);
    font-family: 'MSCHN-XLItalic', "Inter", sans-serif;
    font-size: var(--text-xl);
}

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
    padding: 15px 15px;
    display: inline-block;
    cursor: pointer;
    transition-property: opacity, filter;
    transition-duration: 0.15s;
    transition-timing-function: linear;
    font: inherit;
    color: inherit;
    text-transform: none;
    background-color: transparent;
    border: 0;
    margin: 0;
    overflow: visible;
}

.hamburger:hover {
    opacity: 0.7;
}

.hamburger.is-active:hover {
    opacity: 0.7;
}

.hamburger.is-active .hamburger-inner,
.hamburger.is-active .hamburger-inner::before,
.hamburger.is-active .hamburger-inner::after {
    background-color: #000;
}

.hamburger-box {
    width: 40px;
    height: 24px;
    display: inline-block;
    position: relative;
}

.hamburger-inner {
    display: block;
    top: 50%;
    margin-top: -2px;
}

.hamburger-inner,
.hamburger-inner::before,
.hamburger-inner::after {
    width: 40px;
    height: 4px;
    background-color: #000;
    border-radius: 4px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease;
}

.hamburger-inner::before,
.hamburger-inner::after {
    content: "";
    display: block;
}

.hamburger-inner::before {
    top: -10px;
}

.hamburger-inner::after {
    bottom: -10px;
}

/* Minus */
.hamburger--minus .hamburger-inner::before,
.hamburger--minus .hamburger-inner::after {
    transition: bottom 0.08s 0s ease-out, top 0.08s 0s ease-out, opacity 0s linear;
}

.hamburger--minus.is-active .hamburger-inner::before,
.hamburger--minus.is-active .hamburger-inner::after {
    opacity: 0;
    transition: bottom 0.08s ease-out, top 0.08s ease-out, opacity 0s 0.08s linear;
}

.hamburger--minus.is-active .hamburger-inner::before {
    top: 0;
}

.hamburger--minus.is-active .hamburger-inner::after {
    bottom: 0;
}

.hamburger--minus.is-active .hamburger-inner {
    border-radius: 0;
    animation: blink 1s steps(1, start) infinite;
}

@keyframes blink {
    50% {
        visibility: hidden;
    }
}

/*--------------------------------------------------------------
# Mouse
--------------------------------------------------------------*/
#canvas {
    width: 100%;
    height: var(--unit-100vh);
    position: fixed;
    top: 0;
    z-index: -1;
    opacity: .35;
}

.trail {
    /* className for the trail elements */
    position: absolute;
    height: 96px;
    width: 96px;
    border-radius: 50%;
    background: green;
    border: 0;
    z-index: 100;
    backdrop-filter: blur(1px);
    mix-blend-mode: color-dodge;
    pointer-events: none;
    transition: 40ms ease-in-out;
    opacity: .75;
}

/*--------------------------------------------------------------
# Leaf
--------------------------------------------------------------*/
canvas {
    display: block;
    position: fixed;
    inset: 0;
    width: 100%;
    height: var(--unit-100vh);
    z-index: -1;
}

@media screen and (orientation:portrait) {
    canvas {
        opacity: 0.25
    }

    .section {
        border-bottom: 4px solid var(--black);
    }
}

/*--------------------------------------------------------------
# Noise
--------------------------------------------------------------*/

/*
.noise {
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    width: calc(100% - 414px);
    height: 100vh;
    z-index: -1;
}

.noise-inner {
    position: absolute;
    inset: -200%;
    background-image: url('../img/noise.png');
    opacity: 20%;
    animation: shift 0.2s linear infinite both;
}

@keyframes shift {
    0% {
        transform: translateX(10%) translateY(10%);
    }

    100% {
        transform: translateX(-10%) translateY(-10%);
    }
}
    */

/*--------------------------------------------------------------
# Sections
--------------------------------------------------------------*/
.section {
    width: 100%;
    min-height: var(--unit-100vh)
}

.section-background {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    display: flex;
    align-items: center;
    overflow: hidden;
    background-color: #000000;
}

.darken {
    mix-blend-mode: darken;
}

.multiply {
    mix-blend-mode: multiply;
}

.overlay {
    mix-blend-mode: overlay;
}

.flip {
    -webkit-transform: scale(-1, -1);
    -moz-transform: scale(-1, -1);
    -o-transform: scale(-1, -1);
    transform: scale(-1, -1);
}

.flip-x {
    -webkit-transform: scaleX(-1);
    -moz-transform: scaleX(-1);
    -o-transform: scaleX(-1);
    transform: scaleX(-1);
}

.flip-y {
    -webkit-transform: scaleY(-1);
    -moz-transform: scaleY(-1);
    -o-transform: scaleY(-1);
    transform: scaleY(-1);
}

.screen-container {
    display: none;
    pointer-events: none;
}

.screen .screen-container {
    display: block;
}

.screen-container {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    right: 0;
    background-image: url(../img/bg2.png);
}

.opaque {
    opacity: 0.85;
}

.section-background > img,
.section-background > video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left;
}

.section-background.contain > video {
    width: 100%;
    height: auto;
    object-fit: contain;
}

.section-content {
    transition: 250ms ease-in-out;
}

.is-menu-active .section-content {
    filter: blur(4px);
}

/* Projects */
ul.projects {
    padding: 0;
    margin: 0;
    list-style: none;
}

ul.projects li {
    margin-bottom: 3rem;
}