/* -------------------------------------- VARIABLES and FONTS -------------------------------------- */

:root {
    --bg: /* #b69ebd*/ #F9CFFC /* #FFCCEA */;
    --select: #ca1e0f;
    --select-b:rgb(78, 69, 255);
    --white: #f7f6f0;
}

@font-face {
    font-family: "Ways";
    src:
      url("assets/font/ways.woff2") format("woff2");
}

/* -------------------------------------- RESET and NORMALISATION -------------------------------------- */


*, *::before, *::after {
    margin: 0;
    padding: 0;
    border: none;
    box-sizing: border-box;
    list-style: none;
}
  
article, aside, details, figcaption, figure,
footer, header, main, menu, nav, section, summary {
    /* Add correct display for IE 9- and some newer browsers */
    display: block;
}

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

/* -------------------------------------- TOP LEVEL -------------------------------------- */

html {
    background-color: var(--bg);
    font-family: "Ways";
    font-size: 18px;
}

/* -------------------------------------- CORE CONTENT STYLING -------------------------------------- */

body{
    padding: 1rem;
    width: 100vw;
    height: 100vh;
}

header {
    position: fixed;
    padding: 1rem 0;
    top: 50%;
    transform: translate(0, -50%);
    z-index: 1;
}

header article {
    width: calc(100vw - 2rem);
    mix-blend-mode: color;
}

main {
    width: calc(100vw - 2rem);
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 1rem;
    row-gap: 1rem;
    padding-bottom: 1rem;
}

.media {
    mix-blend-mode:hue;
    align-self: start;
    grid-column: span 2;
}

.media:hover {
    mix-blend-mode: normal;
    z-index: 1;
}

.media.large {
    grid-column: 3 / span 4;
}

.media.large-left {
    grid-column: span 4;
}

.media.clear {
    grid-column: 0;
}

.media img {
    width: 100%;
}

.media video {
    width: 100%;
}


/* -------------------------------------- TEXT STYLING -------------------------------------- */

p { 
    font-size: 1rem;
    line-height: 1.1;
}

p.indented {
    text-indent: calc(33.33% + .35rem);
}

p.small {
    font-size: .85rem;
}

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

a:hover {
    color: var(--white);
    /* text-decoration: underline; */
}

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

/* -------------------------------------- MEDIA QUERIES -------------------------------------- */

@media screen and (max-width: 65rem) {
    .media {
        grid-column: span 6;
    }

    .media.large, .media.large-left {
        grid-column: span 6;
    }

    p {
        font-size: 2rem;
        line-height: 1;
        letter-spacing: -.01rem;
    }
    
    p.small {
        font-size: 1.5rem;
    }
    header {
        top: 0%;
        transform: translate(0, 0);
    }
}