/* Oh hey there 👋. Thanks for sliding into my code. You should follow me on twitter @imjaked, we could be friends. LMK. */


/******************** CSS RESET / SETUP ********************/

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block;
}

ol,
ul {
    list-style: none;
}

blockquote,
q {
    quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
    content: '';
    content: none;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/*********************************************************** 
         YO! YO! YO! CUSTOM STYLES START HERE! 
***********************************************************/


/*********************** GLOBAL ***********************/
:root {
    --spacing-sml: 12px;
    --spacing-med: 20px;
    --spacing-lrg: 32px;
}

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

::selection {
    background: #fef200;
    /* WebKit/Blink Browsers */
}

::-moz-selection {
    background: #fef200;
    /* Gecko Browsers */
}

/********************* TYPOGRAPHY **********************/
body {
    cursor: url('../img/cursor-default.png'), auto;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: calc(24px + (40 - 24) * ((100vw - 1200px) / (2560 - 300)));
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    margin: 0;
    background-color: #dfdfdf;
    color: #0E0E0E;
}

a {
    margin: 0;
    color: #0E0E0E;

}

a:hover {
    background-color: transparent;
    cursor: url('../img/cursor-pointer.png'), auto;
}

.no-decoration {
    text-decoration: none;
}

.font-special {
    /* font-family: 'monospace'; */
}

.link {
    margin-top: var(--spacing-lrg);
}

.dead:hover {
    cursor: not-allowed;
}

/********************* GRID & LAYOUT **********************/
/* Global */
.container {
    display: flex;
    flex-direction: row;
    height: 100vh;
    overflow: hidden;
}

/* Left Side */
.left-col {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 25%;
    border-right: 2px solid #0E0E0E;
    overflow: scroll;
}

.about {
    padding: var(--spacing-lrg);
}

.contact-1 {
    margin-top: var(--spacing-sml);
}

.contact-2 {
    margin-top: var(--spacing-sml);
}

.footer-desktop {
    padding: var(--spacing-lrg);
    border-top: 2px solid #0E0E0E;
}

.footer-mobile {
    width: 100%;
    padding: var(--spacing-lrg);
    display: none;
    border-top: 1px solid #0E0E0E;
}

.legal {
    margin-top: var(--spacing-med);
}

/* Right Side */
.right-col {
    display: flex;
    flex-direction: column;
    width: 75%;
	overflow: scroll;
}

.project {
	padding: var(--spacing-lrg);
}

.break {
    display: block;
    padding-top: 2px;
    width: 100%;
    background-color: #0E0E0E;
}

.header {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    width: 100%;
}

.title-fun {
    color: white;
    background-color: #0E0E0E;
    padding: 4px;
}

.name {
    width: 31%;
    padding-right: var(--spacing-med);
}

.meta {
    width: 34%;
}

.number {
    width: 35%;
    text-align: right;
}

.content {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    width: 100%;
    margin-top: var(--spacing-med);
    padding-top: 10px;
}

.project-description {
    width: 31%;
    display: flex;
    flex-direction: column;
    padding-right: var(--spacing-med);
}

/********************* Assets **********************/
img {
    display: block;
    width: 100%;
    background-color: #0E0E0E;
    position: initial;
}

video {
    display: block;
    width: 100%;
    background-color: #0E0E0E;
    position: initial;
}

.image {
    border: 2px solid #0E0E0E;
    width: 69%;
    height: auto;
}

/********************* Extras **********************/
.trail { 
    position: absolute;
    height: 108px;
    width: 70px;
    background-image: url(../img/cursor-default.png);
    background-position: top left;
    background-repeat: no-repeat;
    background-size: contain;
    pointer-events: none;
  }

.bounding-box {
    position: absolute;
    width: 0px;
    height: 0px;
    -webkit-animation: x 13s linear infinite alternate;
    animation: x 13s linear infinite alternate;
}

.smiley {
    -webkit-animation: y 7s linear infinite alternate;
    animation: y 7s linear infinite alternate;
    pointer-events: none;
}

.rotate {
    background-color: transparent;
    width: 218px;
    height: 218px;
    -webkit-animation: rotate 7s linear infinite;
    animation: rotate 7s linear infinite;
}

@-webkit-keyframes x {
    100% {
        -webkit-transform: translateX(calc(100vw - 218px));
        transform: translateX(calc(100vw - 218px));
    }
}

@keyframes x {
    100% {
        -webkit-transform: translateX(calc(100vw - 218px));
        transform: translateX(calc(100vw - 218px));
    }
}

@-webkit-keyframes y {
    100% {
        -webkit-transform: translateY(calc(100vh - 218px));
        transform: translateY(calc(100vh - 218px));
    }
}

@keyframes y {
    100% {
        -webkit-transform: translateY(calc(100vh - 218px));
        transform: translateY(calc(100vh - 218px));
    }
}

@-webkit-keyframes rotate {
    from {
        -webkit-transform: rotate(0deg);
    }

    to {
        -webkit-transform: rotate(360deg);
    }
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}


/********************* Responsive Classes **********************/
/* Laptop to Tablet */
@media only screen and (max-width: 1024px) {

    .left-col {
        width: 40%;
    }

    .right-col {
        width: 60%;
    }

    .content {
        flex-direction: column;
        width: 100%;
        padding-top: 2px;
    }

    .project-description {
        width: 100%;
    }

    .link {
        margin-top: var(--spacing-lrg);
        margin-bottom: var(--spacing-lrg);
    }

    .image {
        width: 100%;
    }

    .name {
        width: 70%;
        padding-right: var(--spacing-med);
    }

    .number {
        width: 30%;
        text-align: right;
    }

    .meta {
        display: none;
    }
}
/* Tablet and smaller */
@media only screen and (max-width: 768px) {
    .container {
        flex-direction: column;
        height: auto;
    }

    .left-col {
        width: 100%;
        border-right: none;
        justify-content: flex-start;
    }

    .footer-desktop {
        display: none;
    }

    .footer-mobile {
        display: block;
        padding: var(--spacing-med);
    }

    .right-col {
        width: 100%;
        margin-bottom: 0px;
    }

    .project {
        padding: var(--spacing-med);
    }

    .about {
        border-bottom: 1px solid #0E0E0E;
        padding: var(--spacing-med);
    }

    .name {
        width: 80%;
        padding-right: var(--spacing-med);
    }

    .number {
        width: 20%;
        text-align: right;
    }

    .meta {
        display: none;
    }

    .image {
        border: 1px solid #0E0E0E;
    }

    .break {
        padding-top: 1px;
    }

    .content {
        padding-top: 0px;
    }

    .legal {
        margin-top: var(--spacing-med);
    }

    .rotate {
        width: 134px;
        height: 134px;
    }

    .trail {
        opacity: 0;
    }

    body {
        cursor: default;
    }

    a:hover {
        cursor: pointer;
    }

    @-webkit-keyframes x {
        100% {
            -webkit-transform: translateX(calc(100vw - 134px));
            transform: translateX(calc(100vw - 134px));
        }
    }

    @keyframes x {
        100% {
            -webkit-transform: translateX(calc(100vw - 134px));
            transform: translateX(calc(100vw - 134px));
        }
    }

    @-webkit-keyframes y {
        100% {
            -webkit-transform: translateY(calc(100vh - 134px));
            transform: translateY(calc(100vh - 134px));
        }
    }

    @keyframes y {
        100% {
            -webkit-transform: translateY(calc(100vh - 134px));
            transform: translateY(calc(100vh - 134px));
        }
    }
}