h2 {
    font-size: clamp(1.2rem, 8.6vw, var(--size-700));
    color: var(--text-dark);
}

/* START HERO REGION -------------------------------------- */

.hero {
    position: relative;
    display: block;
    grid-column: full-width;
    padding: 0;
}

.hero-content-wrap {
    padding: var(--size-800) var(--size-500);
    overflow-x:hidden;
}

.hero-content {
    margin-inline: auto;
    border: 2px solid var(--color-primary-300);
    align-items: center;
    justify-content: center;
    max-width: 996px;
    display: grid;
    grid-template-rows: auto 1fr;
    grid-template-areas: 
    "tabs"
    "tabpanel"
    "cta";
} @media (min-width:992px) {
    .hero-content {
        grid-template-areas: 
        "tabs tabpanel"
        "cta tabpanel";
        grid-template-columns: 1fr auto;
        grid-template-rows: auto 1fr;
        column-gap: 50px;
    }
}

/* EVENT SELECTION */

.hero-tabs {
    padding: var(--size-400) var(--size-400) var(--size-800);
    position: relative;
    display: flex;
    grid-area: tabs;
    justify-self: center;
    text-align: center;
    flex-direction: column;
    row-gap: var(--size-400);
} @media (min-width:992px) {
    .hero-tabs {
        padding: var(--size-400) var(--size-400) 0;
    }
}

.event-selection {
    order: 3;
    margin: 0;
    display: flex;
    flex-direction: column;
    padding-block: 0 1.5rem;
    row-gap: 1.2rem;
    align-items: center;
} @media (min-width: 992px) {
    .event-selection {
        order: unset;    
    }
}

/* Event flyer selection button */
.event-selection-btn {
    position: relative;
    font-size: min(4.8vw, var(--fs-400));
    background-color: unset;
    text-decoration: underline;
    text-decoration-color: var(--color-accent-100);
    white-space: nowrap;
    color: var(--color-accent-700);
    cursor: pointer;
    transition: all .4s;
    border: none;
}
.event-selection-btn:hover,
.event-selection-btn:focus {
    color: var(--color-accent-500);
    text-decoration-color: var(--color-accent-500);
    transform:scaleX(1.05);
}

.event-selection-btn.active {
    color: var(--color-accent-500);
    text-shadow: unset;
}

.event-selection-btn::after {
    content: "";
    position:absolute;
    right: 0;
    top: .3em;
    height: 0;
    width: 0;
    border: 0;
    border-top: .4em solid transparent;
    border-right: 0 solid transparent;
    border-bottom: .4em solid transparent;
    border-left: 0 solid transparent;
    transition: all .2s;
}

.event-selection-btn:hover::after,
.event-selection-btn:focus::after {
    right: -1em;
    border-left: 0 solid transparent;
    border-right: .6em solid var(--color-accent-400-hover);
}
.event-selection-btn:active::after {
    right: -1em;
    border-left: .6em solid var(--color-accent-400-hover);
    border-right: 0 solid transparent;
}

.event-selection-btn.active::after {
    right: -1em;
    border-right: 0 solid transparent;
    border-left: .6em solid var(--color-accent-200);
}

/* EVENT FLYER */

.hero-tabpanel {
    grid-area: tabpanel;
    display: grid;
    grid-template-areas: "flyer";
}

.event-flyer {
    position: relative;
    grid-area: flyer;
    padding: 1em;
    background-color: var(--background-body);
    font-family: var(--ff-primary-serif);
    transition: transform 1.6s;

    transform: translate(0, 0) rotate(-1.5deg);
    border-image-source: url(/public/img/deckled_edge_square.png);
    border-image-width: 95px;
    border-image-slice: 30% fill;
    border-image-repeat: repeat;
    border-image-outset: var(--size-500);
    filter: drop-shadow(-1px 1px 1px var(--color-primary-500-hover));
}

.event-flyer:nth-child(3n + 2).active {
    transform:rotate(0);
}
.event-flyer:nth-child(3n + 3).active {
    transform:rotate(1.5deg);
}

.event-flyer:not(.active) {
    transform: translate(120vw, 0) rotate(6deg);
} 

.event-flyer h1,
.event-flyer h2,
.event-flyer h3 {
    font-family: var(--ff-heading);
}

.event-flyer h1 {
    margin-inline: auto;
    margin-bottom: var(--size-400);
    text-align: center;
    max-width: 20ch;
    font-size: min(6vw, 1.5em) ;
    font-weight: 700;
}

.event-flyer h2 {
    font-size: var(--size-200);
    font-weight: 700;
}

.event-flyer section {
    margin-bottom: var(--size-200);
    padding: 0;
}

.event-data p,
.event-data li {
    font-size: min( 6vw, var(--fs-600));
}

.event-data-content {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
}

.event-flyer-img {
    width: 100%;
    height: auto;
    max-width: 230px;
    mix-blend-mode: luminosity;
    align-self: end;
}

.event-data-list {
    flex: 0 0 auto;
}
.event-data-list > li {
    margin-bottom: var(--size-300);
}

ul[data-title='Dates']{
    display: flex;
    gap: var(--size-300);
}

.location-data a {
    text-decoration: underline;
    text-decoration-color: #00000030;
    color: var(--text-dark)
}

.location-data a:hover,
.location-data a:active {
    color: #000;
    text-decoration: underline;
}

.location-data p:not(:first-child) {
    font-size: min(5vw, 1.1rem);
}

.event-details {
    font-family: var(--ff-primary);
    margin: 0 auto var(--size-300);
    max-width: 50ch;
}

.event-details h2{
    margin-bottom: var(--size-200);
    padding-top: var(--size-400);
    position: relative;
    border-top: 2px solid var(--color-primary-300);
}

.event-details details summary {
    margin-bottom: var(--size-100);
    font-size: var(--size-300);
    font-weight: 700;

}

.event-details details summary:hover {
    cursor: pointer;
}


/* CTA JOIN NEWSLETTER */

.event-calendar-btn {
    display: block;
    margin-bottom: var(--size-600);
}

.hero-cta {
    grid-area: cta;
    margin-bottom: auto;
    padding: var(--size-900) var(--size-400) var(--size-600);
    justify-self: center;
    text-align: center;
} @media (min-width:992px) {
    .hero-cta {
        padding: 0 var(--size-400) var(--size-400);
    }
}

.hero-cta h2 {
    font-family: var(--ff-heading);
    margin-bottom: .6rem;
    font-size: var(--fs-600);
    color: var(--text-dark);
    letter-spacing: normal;
}

.hero-cta-content {
    display: flex;
    flex-direction: column;
    gap: 1.4rem;
}

.socials .btn {
    padding: .6rem;
}

.hero-cta .socials li {
    display: inline-block;
}

.socials svg {
    width: 1.4rem;
}

#eventStructure {
    --border-width: 2px;
    --border-radius: var(--size-200);
    margin-top: var(--size-900);
}

#eventStructure [class^="container-"] {
    width: min(var(--max-width), 100%);
}

#eventStructure h2 {
    text-align: center;
    margin-bottom: 1rem;
    font-family: var(--ff-heading);
    font-size: 1.8rem;
    letter-spacing: normal;
}

.event-structure-content {
    padding: var(--size-400);
    background-image: linear-gradient(var(--color-primary-100), transparent 90%);
    border-radius: var(--border-radius);
    box-shadow: 0 -6px 6px -4px var(--color-primary-300);
}

.event-structure-cta {
    height: 100%;
    width: 100%;
}

.event-structure-cta {
    background-image: linear-gradient(transparent 10%, var(--color-primary-200));
    background-origin: border-box;
    border: var(--border-width) solid transparent;
    border-radius: var(--border-radius);
}
.event-structure-cta>div {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
    padding: var(--size-500);
    padding-bottom: var(--size-800);
    background-color: var(--background-body);
    border-radius: calc(var(--border-radius) - var(--border-width))
}

@media screen and (min-width: 768px) {

    #eventStructure h2 {
        text-align: left;
    }

    .event-structure-content {
        padding: var(--size-700);
        background-image: linear-gradient(90deg, var(--color-primary-100), transparent 90%);
        box-shadow: -6px 0 6px -4px var(--color-primary-300);
    }

    .event-structure-cta {
        background-image: linear-gradient(90deg, transparent 10%, var(--color-primary-200));
    }

    .event-structure-cta>div {
        padding-bottom: var(--size-500);
    }
}

/* END HERO REGION */

/* INFORMATION */
.modeling-section {
    position: relative;
    color: var(--text-dark);
    background-color: var(--color-primary-100);
    text-align: center;
    min-height:520px;
    display: flex;
    align-items: center;
}

.modeling-section h2 {
    font-family: var(--ff-heading);
    margin-bottom: var(--size-400);
    letter-spacing: normal;
}

/* GALLERY CTA */

.cta-art-gallery-wrap {
    position: relative;
    margin-bottom: 0;
    grid-column: full-width;
    background-image: linear-gradient(to left, var(--color-primary-500), var(--color-accent-700)), url("/public/img/gesture_bg_02.png"), url("/public/img/paper_texture.jpg");
    background-color: var(--color-primary-200);
    background-blend-mode: overlay, multiply, normal;
    background-size: cover, auto 200%, cover;
    background-position: 0, max(130%, 260px) 0 ,0;
    background-repeat: no-repeat;
}

.cta-art-gallery {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 450px;
    justify-content: center;
    align-items: center;
    gap: 1em;
    text-align: center;
    margin-inline: var(--size-300)
} @media screen and (min-width: 576px) {
    .cta-art-gallery {
        justify-content: space-between;
        flex-direction: row;
        margin-inline: var(--size-700)
    }
}
.cta-art-gallery > * {
    margin-block: .5em; 
}

.cta-art-gallery > a {
    padding: 1em 1.4em;
    width: fit-content;
    font-weight: 700;
    font-size: 1.2em;
    letter-spacing: .1em;
    color: #fff ;
    background-color: var(--color-accent-700);
    border: 1px solid var(--color-accent-300);
    box-shadow: 0 0 0 .8em var(--color-accent-700);
    border-radius: 0;
    text-decoration: none;
    transform-origin: center;
    transition: 0.2s;
}

.cta-art-gallery > a:hover,
.cta-art-gallery > a:focus {
    background-color: var(--color-accent-700-hover);
    transform: scale(1.02);
}

.cta-art-gallery > a:active {
    background-color: var(--color-accent-700-active);
}

@media screen and (min-width: 576px) {
    .cta-art-gallery {
        justify-content: space-between;
        flex-direction: row;
    }
    .cta-art-gallery > a {
        margin:0;
    }
}

/* END GALLERY CTA */

/* Event Photos */

#photo-gallery {
    background-color: var(--background-body);
}

.event-photos-wrapper {
    text-align: center;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 1rem;
}

.one-photo-wrapper {
    width: 100%;
}
.featured-photo {
    width:100%;
}
.two-photo-wrapper {
    display: flex;
    gap: 1rem;
}
.two-photo-wrapper > * {
    flex: 0 1 auto;
}
.featured-double-photo {
    width: 100%;
}
