/* --------- CSS reset --------- */
    /* 1. Use a more-intuitive box-sizing model */
    *,
    *::before,
    *::after {
    box-sizing: border-box;
    }

    /* 2. Remove default margin */
    * {
    margin: 0;
    }

    /* 3. Enable keyword animations */
    @media (prefers-reduced-motion: no-preference) {
    html {
        interpolate-size: allow-keywords;
    }
    }

    body {
    /* 4. Add accessible line-height */
    line-height: 1.5;
    /* 5. Improve text rendering */
    -webkit-font-smoothing: antialiased;
    }

    /* 6. Improve media defaults */
    img,
    picture,
    video,
    canvas,
    svg {
    display: block;
    max-width: 100%;
    }

    /* 7. Inherit fonts for form controls */
    input,
    button,
    textarea,
    select {
    font: inherit;
    }

    /* 8. Avoid text overflows */
    p,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
    overflow-wrap: break-word;
    }

    /* 9. Improve line wrapping */
    p {
    text-wrap: pretty;
    }
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
    text-wrap: balance;
    }

    /*
        10. Create a root stacking context
        */
    #root,
    #__next {
    isolation: isolate;
    }

    /*
        11. remove dot points from lists
        */
    * {
    list-style: none;
    margin: 0;
    padding: 0;
    }

    /* 12. remove underline from links */
    a {
        text-decoration: none;
    }

/* --------------------------- */

/* fonts */
@font-face {
    font-family: "Courier Prime";
    src: url("/assets/fonts/CourierPrime-Bold.ttf") format("truetype");
    font-weight: 800;
    font-style: normal;
}

@font-face {
    font-family: "HAL Timezone";
    src: url("/assets/fonts/HALTimezone-Regular.otf") format("opentype");
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: "HAL Timezone";
    src: url("/assets/fonts/HALTimezone-RegularItalic.otf") format("opentype");
    font-weight: 400;
    font-style: italic;
}

/* type styles */
h1, h2 {
    font-family: "HAL Timezone";
    line-height: 135%;
    font-weight: 400;
}

h3, h4 {
    font-family: "HAL Timezone";
    letter-spacing: 2%;
    line-height: 135%;
    font-weight: 400;
}

h5, h6 {
    font-family: "Courier Prime";
    letter-spacing: -1%;
    word-spacing: -20%;
    line-height: 100%;
    text-transform: uppercase;
}

p {
    font-family: "HAL Timezone";
    letter-spacing: 4%;
    line-height: 125%;
}

h1 {
    font-size: 40px;
    letter-spacing: 4%;
}

h2 {
    font-size: 28px;
    letter-spacing: 3%;
}

h3 {
    font-size: 20px;
}

h4 {
    font-size: 14px;
}

h5 {
    font-size: 16px;
}

h6 {
    font-size: 13px;
}

p {
    font-size: 16px;
}

ul, li {
    font-family: "HAL Timezone";
    list-style-type: disc;
    margin-left: 20px;
    margin-top: 16px;
    letter-spacing: 4%;
    line-height: 125%;

}

/* colour */
:root {
    --colour-curly-wig: #d2ff65;
    --colour-duskdark: #7b2bff;
    --colour-firedot: rgb(217, 57, 18);
    --colour-tablelands: #413035;
    --colour-blue-mountains-ash: #e3f0E8;
    --colour-sweet-wattle: #fafff0;
    --colour-mountain-devil: #f9d7f4;
    --colour-black: #000000;
    --colour-white: #ffffff;
}

body {
    background-color: var(--colour-blue-mountains-ash);
}

a {
    color: inherit; 
}

.visiblea a{
    text-decoration: underline;
}

hr {
    border: 1px solid black;
    margin: 30px 0 5px 0;
}

/* logo */

/* nav */
#nav-desktop {
    display: flex;
}

#nav-mobile{
    display: none;
    padding: 10px 25px 0 25px;
    z-index: 4;
    height: 10vh;
    background-image: linear-gradient(to bottom, var(--colour-firedot) 50%, rgb(217, 57, 18, 0) 90%);
}

nav {
    position: fixed;
    z-index: 2;
    width: 100%;
    height: 8vh;
    top: 0;
    padding: 14px 30px 0 30px;
    display: flex;
    justify-content: space-between;
    background-image: linear-gradient(to bottom, var(--colour-firedot) 30%, rgb(217, 57, 18, 0) 90%);
}

.home .nav {
  opacity: 0;
  transform: translateY(-100%);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
}

.home .nav.is-visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.nav-logo {
    margin-top: -4px;
}

.nav-logo path {
    fill: var(--colour-white);
    transition: all 0.25s ease;
}

.nav h3{
    color: var(--colour-white);
    letter-spacing: 6%;
    transition: all 0.25s ease;
}

.nav-logo:hover path{
    fill: var(--colour-duskdark);
}

.nav h3:hover {
    color: var(--colour-duskdark);
}

.ticket-cta {
    background-color: var(--colour-tablelands);
    padding: 4px 20px 6px 20px;
    border-radius: 30px;
    color: white;
    height: 32px;
    align-content: center;
    transition: all 0.25s ease;
}

.ticket-cta h3 {    
    text-align: center;
    line-height: 100%;
}

.ticket-cta:hover {
    background-color: var(--colour-duskdark);
}

.ticket-cta h3:hover {
    color: currentColor;
}

/* footer */
footer{
    position: relative;
}

.footer-top{
    position: relative;
    margin-top: -120px; 
    z-index: 2;
}

.footer-top img {
    position: relative;
    width: 100vw;
    margin: 0px;
    z-index: 0;
}

.footer-body {
    position: relative;
    height: 75vh;
    margin-top: -15vh;
    padding: 0 16px 0 16px;
    z-index: 3;
    background-color: var(--colour-duskdark);
    color: var(--colour-blue-mountains-ash);
}

.footer-body-content {
    margin: 0 5vw 0 5vw;
    display: grid;
    grid-template-areas:
        "subscription links";
    grid-template-columns: 5fr 5fr;
}

.footer-body-content div.links {
    grid-area: links;

}

.footer-body-content div.subscription {
    grid-area: subscription;
}

.footer-body-content h3 {
    margin-bottom: 10px;
    text-align: right;
    letter-spacing: 4%;
}

.footer-end {
    position: absolute;
    bottom: 20px;
    left: 16px;
    right: 16px;
    text-align: center;
    color: var(--colour-blue-mountains-ash);
}

.footer-end h5{
    margin-bottom: 12px;
}

/* email subscription embed */
.form-container {
    margin: 10px 0 10px 0 !important;
}

.emailoctopus-form-wrapper input {
    /* margin: 10px 0 10px 0 !important;
    margin: 50px !important; */
    border-radius: 30px !important;
    font-family: "HAL Timezone" !important;
    font-size: 20px !important;
    letter-spacing: 4% !important;
}

.emailoctopus-form input {
    --button-colour: var(--colour-firedot);
}

#footer-logo {
    width: 100%;
    fill: var(--colour-blue-mountains-ash);
    margin-bottom: 1.5vh;
}

/* default image styling — should always take up width of container*/
img {
    width: 100%;
    height: auto;
}

.container {
    display: flex;
    flex-direction: row;
    height: 115vh;
    width: 100vw;
}

.split {
    width: 50%;
    overflow-y: auto;
    padding-bottom: 20vh;
}

/* breakpoints */
/* mobile */
@media (width <= 600px) {
    h1 {
        font-size: 40px;
    }

    h2 {
        font-size: 28px;
    }

    h3 {
        font-size: 20px;
    }

    h4 {
        font-size: 14px;
    }

    h5 {
        font-size: 16px;
    }

    h6 {
        font-size: 13px;
    }
    
    p {
        font-size: 16px;
    }

    #nav-desktop{
        display: none;
    }

    #nav-mobile {
        display: flex;
        flex-direction: column;
    }

    #nav-mobile > div {
        display: flex;
        flex-direction: row;
        justify-content: space-between;
        z-index: 0;
    }

    #open-menu {
        display: none;
        width: 100%;
        padding: 0 30px;
    }

    #mobile-nav nav {
        /* height: 10vh;
        background-image: linear-gradient(to bottom, var(--colour-firedot) 50%, rgb(217, 57, 18, 0) 90%); */
    }

    .nav-logo {
        margin-top: 0;
    }

    .mobile-nav-icon svg {
        stroke: var(--colour-white);
    }

    .menu-open .mobile-nav-icon svg {
        stroke: var(--colour-duskdark);
    }

    .mobile-nav-icon svg {
        margin-top: 9px;
    }

    #menu-links-container {
        display: flex;
        height: 90vh;
        flex-direction: column;
        align-content: center;
        align-items: center;
        justify-content: center;
    }

    #menu-links{
        position: relative;
        min-height: 50vh;
        width: 78vw;
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        padding: 30px;
        background-color: var(--colour-curly-wig);
        border: #000000 1px solid;
        filter: drop-shadow(0px 0px 10px var(--colour-firedot));
    }

    #mobile-nav-icon-x {
        position: absolute;
        top: 10px;
        right: 18px;
        z-index: 3;
    }

    #nav-mobile h2 {
        font-size: 28px;
        text-align: center;
        color: var(--colour-black);
        margin: 14px;
    }

    .ticket-cta {
        margin-top: 10px;
        background-color: var(--colour-firedot);
        padding: 8px 35px 10px 35px;
        border-radius: 80px;
        height: 60px;
        align-content: center;
        text-align: center;
        margin-bottom: 10px;
    }
    
    .ticket-cta h3 {    
        color: var(--colour-white);
        text-align: center;
        font-size: 28px;
        text-align: center;
    }

    footer {
        position: relative;
    }

    .footer-top{
        position: relative;
        margin-top: -105px; 
        z-index: 2;
    }

    .footer-top img {
        position: relative;
        width: 100vw;
        margin: 0px;
        margin-top: clamp(-20vh, -10vh, 0);
        height: clamp(10vh, 15vh, 20vh);
        object-fit: cover;
    }

    .footer-body {
        position: relative;
        height: clamp(90vh, 95vh, 100vh);
        margin-top: -5vh;
        padding: 0 16px 0 16px;
        z-index: 2;
    }

    .footer-body-content {
        margin: 0 5vw 0 5vw;
        grid-template-areas:
            "subscription"
            "links";
        grid-template-columns: 1fr;
    }

    .footer-body-content h3 {
        text-align: left;
    }

    .footer-aoc {
        font-size: 13px;
    }
}

/* foldable */
@media (600px <= width <= 900px) {

    .footer-top {
        position: relative;
        margin-top: -30vh; 
        z-index: 2;
    }

    .footer-top img {
        position: relative;
        width: 100vw;
        z-index: 0;
    }

    .footer-body {
        position: relative;
        height: clamp(80vh, 90vh, 100vh);
        margin-top: -5vh;
        padding: 0 16px 0 16px;
        z-index: 2;
    }

    .footer-body-home {
        position: relative;
        height: clamp(80vh, 90vh, 100vh);
        margin-top: -20vh;
        padding: 0 16px 0 16px;
        z-index: 2;
    }
}

/* laptop */
@media (900px <= width <= 1440px) {

    .footer-top img {
        height: clamp(30vh, 20vh, 10vh);
        margin-top: clamp(-30vh, -20vh, -10vh);
    }

}