 /* =========================================================
   GOLDFARB CENTER — SEASON PAGE
   FULL WIDTH / 3 COLUMNS / RESPONSIVE
   ========================================================= */


/* =========================================================
   GLOBAL
   ========================================================= */

#container_one,
#container_one *,
#container_one *::before,
#container_one *::after {
    box-sizing: border-box;
}

#container_one {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;

    color: #000;
    background: #fff;

    font-family:
        "Open Sans",
        Arial,
        Helvetica,
        sans-serif;

    font-size: 1.05rem;
    line-height: 1.5;

    overflow-x: hidden;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#container_one img {
    display: block;
    max-width: 100%;
    height: auto;
    border: 0;
}

#container_one p {
    margin: 0 0 1rem;
    overflow-wrap: break-word;
}

#container_one h3,
#container_one h4 {
    font-family:
        "Lato",
        "Open Sans",
        Arial,
        Helvetica,
        sans-serif;
}


/* =========================================================
   LINKS
   ========================================================= */

#container_one a {
    color: #663399;
    font-weight: 700;
    overflow-wrap: break-word;
}

#container_one a:hover,
#container_one a:focus {
    color: #800000;
}


/* =========================================================
   HERO
   ========================================================= */

#container_one .gcp-hero {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;

    background: #663399;
}

#container_one .gcp-hero-image {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 0;

    overflow: hidden;
}

#container_one .gcp-hero-desktop {
    display: block;

    width: 100%;
    max-width: 100%;

    height: auto;

    margin: 0;
    padding: 0;
}


/* =========================================================
   HEADER
   ========================================================= */

#container_one .gcpa-header {
    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0;

    background: #fff;
}

#container_one .goldfarb-main-title {
    width: 100%;

    margin: 0;

    padding: 12px 20px 15px;

    color: #663399 !important;
    background: #fff;

    font-family:
        "Lato",
        "Open Sans",
        Arial,
        Helvetica,
        sans-serif !important;

    font-size:
        clamp(1.6rem, 3vw, 2.8rem) !important;

    font-weight: 800 !important;

    line-height: 1.1;

    text-align: center;

    overflow-wrap: break-word;
	border-bottom: 4px solid #B8860B;
}


/* =========================================================
   MENU
   ========================================================= */

#container_one .menu {
    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0;

    background: #663399;
}


/* =========================================================
   MAIN CONTENT
   ========================================================= */

#container_gcpa {
    width: 100%;
    max-width: 100%;

    margin: 0;

    padding: 0 30px 50px;

    background: #fff;
}

#container_one .gcpa-content {
    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0;

    background: #fff;
}


/* =========================================================
   GENERAL FEATURE
   ========================================================= */

#container_one .feature {
    width: 100%;
    max-width: 100%;

    margin: 0 0 45px;
}


/* =========================================================
   SEASON INTRO
   IMAGE RIGHT / TEXT LEFT
   ========================================================= */

#container_one .season-intro {
    width: 100%;
    max-width: 100%;

    margin: 30px 0 45px;

    padding: 30px;

    background: #fff;

    border: 1px solid #B8860B;

    box-shadow:
        0 5px 16px rgba(0, 0, 0, 0.12);

    overflow: hidden;
}


/* =========================================================
   INTRO TITLE
   CPA5 — REDUCED SIZE
   ========================================================= */

#container_one .season-intro .cpa5 {
    display: block;

    width: 100%;

    margin: 0 0 18px;

    padding: 0 0 10px;

    color: #663399 !important;

    background: transparent;

    border-bottom: 2px solid #800000 !important;

    font-family:
        "Lato",
        "Open Sans",
        Arial,
        Helvetica,
        sans-serif !important;

    font-size:
        clamp(1.35rem, 2.2vw, 1.9rem) !important;

    font-weight: 800 !important;

    font-style: normal !important;

    line-height: 1.2;

    text-align: left !important;

    text-transform: uppercase;

    overflow-wrap: break-word;
}


/* =========================================================
   INTRO IMAGE
   REDUCED PADDING
   ========================================================= */

#container_one .season-intro img.intro-image {
    float: right;

    width: 42%;
    max-width: 550px;

    height: auto;

    margin:
        0
        0
        15px
        25px;

    padding: 5px;

    background: #fff;

    border: 1px solid #D8D9DA;

    box-shadow:
        0 4px 12px rgba(0, 0, 0, 0.18);
}


/* =========================================================
   CLEAR FLOAT
   ========================================================= */

#container_one .season-intro::after {
    content: "";

    display: table;

    clear: both;
}


/* =========================================================
   INTRO TEXT
   ========================================================= */

#container_one .season-intro p {
    margin: 0 0 0.9rem;

    font-size: 1.05rem;

    line-height: 1.55;

    text-align: left;
}


/* =========================================================
   SEASON SHOWS
   ========================================================= */

#container_one .season-shows {
    width: 100%;
    max-width: 100%;

    margin: 0 0 45px;

    padding: 0;
}


/* =========================================================
   SEASON HEADING
   ========================================================= */

#container_one .season-shows > h3 {
    width: 100%;

    margin: 0 0 25px;

    padding: 12px 20px;

    color: #fff;

    background: #663399;

    border-bottom: 4px solid #B8860B;

    font-size:
        clamp(1.35rem, 2.5vw, 2rem);

    font-weight: 800;

    line-height: 1.2;

    text-align: center;
}


/* =========================================================
   SHOW GRID — 3 COLUMNS
   ========================================================= */

#container_one .shows-grid {
    display: grid;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 30px;

    width: 100%;
    max-width: 100%;

    margin: 0;
    padding: 0;

    align-items: stretch;
}


/* =========================================================
   SHOW CARD
   ========================================================= */

#container_one .show-card {
    display: flex;

    flex-direction: column;

    min-width: 0;

    width: 100%;

    margin: 0;

    padding: 16px;

    background: #fff;

    border: 1px solid #808080;

    box-shadow:
        0 3px 10px rgba(0, 0, 0, 0.10);

    overflow: hidden;

    transition:
        transform 0.2s ease,
        box-shadow 0.2s ease;
}


/* =========================================================
   ALTERNATING BACKGROUND
   ========================================================= */

#container_one .show-card:nth-child(even) {
    background: #f2eef7;
}

#container_one .show-card:nth-child(odd) {
    background: #fff;
}


/* =========================================================
   CARD HOVER
   ========================================================= */

#container_one .show-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 7px 18px rgba(0, 0, 0, 0.16);
}


/* =========================================================
   POSTER
   REDUCED IMAGE PADDING
   ========================================================= */

#container_one .poster {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    max-width: 100%;

    height: auto;

    margin: 0 0 15px;

    padding: 4px;

    background: #fff;

    border: 1px solid #B8860B;

    overflow: hidden;
}


/* =========================================================
   POSTER IMAGE
   NO CROPPING
   ========================================================= */

#container_one .poster img {
    display: block;

    width: 100%;
    max-width: 100%;

    height: auto;

    margin: 0;
    padding: 0;

    object-fit: contain;
    object-position: center;

    background: #fff;
}


/* =========================================================
   SHOW INFORMATION
   ========================================================= */

#container_one .show-information {
    display: flex;

    flex-direction: column;

    flex: 1;

    width: 100%;
    min-width: 0;

    color: #222;

    font-size: 1rem;

    line-height: 1.5;
}


/* =========================================================
   SHOW TITLE
   ========================================================= */

#container_one .show-information h4 {
    display: block;

    width: 100%;

    margin: 0 0 5px;

    padding: 0;

    color: #663399 !important;

    font-family:
        "Lato",
        "Open Sans",
        Arial,
        Helvetica,
        sans-serif !important;

    font-size: 1.2rem !important;

    font-weight: 800 !important;

    font-style: normal !important;

    line-height: 1.2;

    overflow-wrap: break-word;
}


/* =========================================================
   FORCE EM INSIDE TITLES TO NORMAL
   ========================================================= */

#container_one .show-information h4 em {
    color: inherit !important;

    font-family:
        "Lato",
        "Open Sans",
        Arial,
        Helvetica,
        sans-serif !important;

    font-weight: 800 !important;

    font-style: normal !important;
}


/* =========================================================
   SHOW DATE
   ========================================================= */

#container_one .show-date {
    margin: 0 0 9px !important;

    color: #333;

    font-size: 0.92rem;

    font-weight: 700;

    line-height: 1.3;
}


/* =========================================================
   SHOW DESCRIPTION
   ========================================================= */

#container_one .show-information p {
    margin: 0 0 10px;

    color: #222;

    font-size: 1rem;

    line-height: 1.5;
}


/* =========================================================
   SUBSCRIPTION / TICKETS
   FULL WIDTH
   ========================================================= */

#container_one .subscription-card {
    grid-column: 1 / -1;

    display: grid;

    grid-template-columns:
        minmax(300px, 0.9fr)
        minmax(0, 1.5fr);

    gap: 40px;

    align-items: center;

    width: 100%;
    min-width: 0;

    margin: 0;

    padding: 25px;

    background: #fff;

    border: 3px solid #B8860B;

    box-shadow:
        0 5px 16px rgba(0, 0, 0, 0.14);

    overflow: hidden;
}


/* =========================================================
   TICKET IMAGE
   REDUCED IMAGE PADDING
   ========================================================= */

#container_one .tickets-image {
    width: 100%;
    max-width: 100%;

    margin: 0;

    padding: 4px;

    background: #fff;

    border: 1px solid #B8860B;

    overflow: hidden;
}

#container_one .tickets-image img {
    display: block;

    width: 100%;
    max-width: 100%;

    height: auto;

    margin: 0;
    padding: 0;
}


/* =========================================================
   TICKET CONTENT
   ========================================================= */

#container_one .tickets-content {
    width: 100%;
    min-width: 0;
}

#container_one .tickets-content h4 {
    margin: 0 0 10px;

    color: #663399;

    font-size: 1.4rem;

    font-weight: 800;

    line-height: 1.2;
}

#container_one .tickets-content p {
    margin: 0 0 12px;

    font-size: 1rem;

    line-height: 1.5;
}


/* =========================================================
   BUTTONS
   ========================================================= */

#container_one .tickets-buttons {
    display: flex;

    gap: 12px;

    width: 100%;

    margin-top: 15px;
}

#container_one .infobutton {
    flex: 1 1 0;

    min-width: 0;
}

#container_one .infobutton a {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;

    height: 50px;
    min-height: 50px;

    padding: 10px 15px;

    color: #fff !important;

    background: #663399;

    border: 2px solid #663399;

    border-radius: 4px;

    font-size: 0.95rem;

    font-weight: 800;

    line-height: 1.2;

    text-align: center;

    text-decoration: none;

    transition:
        background-color .2s ease,
        color .2s ease,
        border-color .2s ease;
}

#container_one .infobutton a:hover,
#container_one .infobutton a:focus {
    color: #663399 !important;

    background: #fff;

    border-color: #B8860B;
}


/* =========================================================
   TABLET — 2 COLUMNS
   ========================================================= */

@media (max-width: 1100px) {

    #container_gcpa {
        padding-left: 25px;
        padding-right: 25px;
    }

    #container_one .shows-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));

        gap: 25px;
    }

    #container_one .subscription-card {
        grid-column: 1 / -1;

        grid-template-columns:
            minmax(250px, 1fr)
            minmax(0, 1.3fr);

        gap: 30px;
    }

    #container_one .season-intro .cpa5 {
        font-size: 1.75rem !important;
    }
}


/* =========================================================
   SMALL TABLET
   ========================================================= */

@media (max-width: 800px) {

    #container_one .season-intro img.intro-image {
        width: 45%;

        margin-left: 25px;

        padding: 4px;
    }

    #container_one .subscription-card {
        grid-template-columns: 1fr;
    }

    #container_one .season-intro .cpa5 {
        font-size: 1.6rem !important;
    }
}


/* =========================================================
   MOBILE — ONE COLUMN
   ========================================================= */

@media (max-width: 700px) {

    #container_gcpa {
        padding:
            0
            15px
            35px;
    }

    #container_one {
        font-size: 1rem;
    }


    /* =====================================================
       HEADER
       ===================================================== */

    #container_one .goldfarb-main-title {
        padding:
            10px
            10px
            12px;

        font-size:
            clamp(1.35rem, 6vw, 2rem) !important;

        line-height: 1.15;
    }


    /* =====================================================
       INTRO
       ===================================================== */

    #container_one .season-intro {
        margin:
            20px
            0
            35px;

        padding: 18px;
    }


    /* =====================================================
       INTRO TITLE
       ===================================================== */

    #container_one .season-intro .cpa5 {
        margin-bottom: 15px;

        padding-bottom: 9px;

        font-size:
            clamp(1.25rem, 5vw, 1.6rem) !important;

        line-height: 1.2;
    }


    /* =====================================================
       INTRO IMAGE
       ===================================================== */

    #container_one .season-intro img.intro-image {
        float: none;

        width: 100%;
        max-width: 550px;

        margin:
            0
            auto
            18px;

        padding: 4px;
    }


    /* =====================================================
       INTRO TEXT
       ===================================================== */

    #container_one .season-intro p {
        margin-bottom: 0.8rem;

        font-size: 1rem;

        line-height: 1.5;
    }


    /* =====================================================
       SEASON HEADING
       ===================================================== */

    #container_one .season-shows > h3 {
        margin-bottom: 20px;

        padding:
            10px
            15px;

        font-size:
            clamp(1.25rem, 5vw, 1.7rem);

        line-height: 1.2;
    }


    /* =====================================================
       SHOW GRID
       ===================================================== */

    #container_one .shows-grid {
        display: grid;

        grid-template-columns: 1fr !important;

        gap: 25px;

        width: 100%;
    }


    /* =====================================================
       SHOW CARD
       ===================================================== */

    #container_one .show-card {
        width: 100%;

        padding: 14px;
    }


    /* =====================================================
       MOBILE POSTER
       REDUCED PADDING
       ===================================================== */

    #container_one .poster {
        width: 100%;

        margin-bottom: 12px;

        padding: 3px;
    }


    #container_one .poster img {
        width: 100%;
        height: auto;

        max-width: 100%;
    }


    /* =====================================================
       SHOW INFORMATION
       ===================================================== */

    #container_one .show-information {
        font-size: 0.95rem;

        line-height: 1.45;
    }


    /* =====================================================
       SHOW TITLE
       ===================================================== */

    #container_one .show-information h4 {
        margin-bottom: 4px;

        font-size: 1.15rem !important;

        line-height: 1.2;
    }


    /* =====================================================
       SHOW DATE
       ===================================================== */

    #container_one .show-date {
        margin-bottom: 7px !important;

        font-size: 0.88rem;

        line-height: 1.25;
    }


    /* =====================================================
       SHOW DESCRIPTION
       ===================================================== */

    #container_one .show-information p {
        margin-bottom: 8px;

        font-size: 0.95rem;

        line-height: 1.45;
    }


    /* =====================================================
       TICKET SECTION
       ===================================================== */

    #container_one .subscription-card {
        grid-column: 1 / -1 !important;

        display: grid;

        grid-template-columns: 1fr !important;

        gap: 20px;

        width: 100%;

        padding: 18px;
    }


    /* =====================================================
       TICKET IMAGE
       ===================================================== */

    #container_one .tickets-image {
        width: 100%;

        padding: 3px;
    }


    /* =====================================================
       TICKET CONTENT
       ===================================================== */

    #container_one .tickets-content h4 {
        margin-bottom: 8px;

        font-size: 1.3rem;
    }

    #container_one .tickets-content p {
        margin-bottom: 10px;

        font-size: 0.95rem;

        line-height: 1.45;
    }


    /* =====================================================
       BUTTONS
       ===================================================== */

    #container_one .tickets-buttons {
        display: flex;

        flex-direction: column;

        gap: 10px;

        width: 100%;

        margin-top: 12px;
    }

    #container_one .infobutton {
        flex: none;

        width: 100%;
    }

    #container_one .infobutton a {
        width: 100%;

        height: 50px;
        min-height: 50px;
        max-height: 50px;
    }
}


/* =========================================================
   SMALL PHONES
   ========================================================= */

@media (max-width: 480px) {

    #container_gcpa {
        padding-left: 10px;
        padding-right: 10px;
    }


    /* INTRO */

    #container_one .season-intro {
        margin-top: 15px;
        margin-bottom: 30px;

        padding: 14px;
    }


    /* CPA5 */

    #container_one .season-intro .cpa5 {
        margin-bottom: 13px;

        padding-bottom: 8px;

        font-size:
            clamp(1.2rem, 5.5vw, 1.5rem) !important;

        line-height: 1.2;
    }


    /* INTRO IMAGE */

    #container_one .season-intro img.intro-image {
        padding: 3px;

        margin-bottom: 15px;
    }


    /* SHOW CARD */

    #container_one .show-card {
        padding: 12px;
    }


    /* POSTER */

    #container_one .poster {
        padding: 3px;

        margin-bottom: 11px;
    }


    /* SHOW INFORMATION */

    #container_one .show-information {
        font-size: 0.95rem;
    }


    /* SHOW TITLE */

    #container_one .show-information h4 {
        font-size: 1.1rem !important;
    }


    /* SHOW DATE */

    #container_one .show-date {
        font-size: 0.85rem;
    }


    /* DESCRIPTION */

    #container_one .show-information p {
        font-size: 0.92rem;

        line-height: 1.45;
    }


    /* TICKETS */

    #container_one .tickets-content {
        font-size: 0.95rem;
    }

    #container_one .tickets-image {
        padding: 3px;
    }

    #container_one .tickets-buttons,
    #container_one .infobutton,
    #container_one .infobutton a {
        width: 100%;
    }
}


/* =========================================================
   VERY SMALL PHONES
   ========================================================= */

@media (max-width: 360px) {

    #container_gcpa {
        padding-left: 6px;
        padding-right: 6px;
    }


    /* INTRO */

    #container_one .season-intro {
        padding: 12px;
    }


    /* CPA5 */

    #container_one .season-intro .cpa5 {
        margin-bottom: 12px;

        padding-bottom: 7px;

        font-size: 1.15rem !important;

        line-height: 1.2;
    }


    /* INTRO IMAGE */

    #container_one .season-intro img.intro-image {
        padding: 3px;

        margin-bottom: 14px;
    }


    /* CARD */

    #container_one .show-card {
        padding: 10px;
    }


    /* POSTER */

    #container_one .poster {
        padding: 2px;

        margin-bottom: 10px;
    }


    /* SHOW TITLE */

    #container_one .show-information h4 {
        font-size: 1.05rem !important;

        line-height: 1.25;
    }


    /* DATE */

    #container_one .show-date {
        font-size: 0.82rem;
    }


    /* DESCRIPTION */

    #container_one .show-information p {
        font-size: 0.9rem;

        line-height: 1.45;
    }


    /* TICKETS */

    #container_one .tickets-image {
        padding: 2px;
    }

    #container_one .infobutton a {
        height: 48px;

        min-height: 48px;
        max-height: 48px;

        font-size: 0.9rem;
    }
}


/* =========================================================
   ACCESSIBILITY / REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

    #container_one *,
    #container_one *::before,
    #container_one *::after {
        transition: none !important;

        animation: none !important;

        scroll-behavior: auto !important;
    }
}
