/* MIN-W 0px LAYOUT: Homepage */
#sectionIntroduction .wrapper,
#sectionMailingList .wrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#sectionMailingList {
    background: var(--base-01);
}
#sectionMailingList h2 {
    text-align: center;
    color: var(--base-mute);
    line-height: 1.5;
    text-wrap: balance;
}

#sectionMailingList form {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

#sectionMailingList form .fieldset {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: .25rem;
    text-align: left;
}

#sectionMailingList form .fieldset label {
    font-size: var(--text-sm);
    color: var(--base-mute);
}

#sectionMailingList form .fieldset input,
#sectionMailingList form .fieldset select {
    border: 1px solid var(--border-neutral);
    border-radius: .25rem;
    font-size: var(--text-base);
    height: 3rem;
    padding: 0 1rem;
    width: 100%;
}

#sectionMailingList form .fieldset.email {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

#sectionMailingList form .fieldset.email label {
    width: 45%;
}

#sectionMailingList form .fieldset.email label:nth-of-type(2) {
    text-align: right;
    font-size: var(--text-xs);
}

#sectionMailingList form .fieldset.email span {
    color: var( --error);
}

#sectionMailingList form p {
    text-align: left;
}

#sectionMailingList form p a {
    color: var(--primary);
    font-weight: 600;
}

#sectionMailingList form input[type=submit] {
    cursor: pointer;
    border: none;
    margin: 0 auto;
    color: var(--primary-content);
    background: var(--primary);
    border-radius: .25rem;
    height: 3rem;
    padding: 0 2rem;
    font-weight: 600;
    font-size: var(--text-lg);
    transition: all 0.2s ease-out;
}

#sectionMailingList form input[type=submit]:hover {
    background: var(--primary-focus);
    transition: all 0.2s ease-out;
}

/* MIN-W 0px LAYOUT: Homepage - Hero */
#splideHomepageBanner-list .splide__slide {
    height: calc(133.333333333333333vw);
}

header.homepage {
    padding: 0;
}

header.homepage .splide__slide > * {
    padding: 1rem;
    width: 100%;
    height: 100%;
}

header.homepage .text-wrapper {
   height: calc(50% - 38px);
   margin-bottom: auto;
   text-align: center;
   display: flex;
   flex-direction: column;
   gap: .5rem;
   justify-content: center;
}
header.homepage .text-wrapper .pre-header {
   font-size: var(--text-sm);
   font-weight: 600;
}
header.homepage .text-wrapper h1 {
   font-weight: 700;
   font-size: var(--text-3xl);
}
header.homepage .text-wrapper .button {
   display: flex;
   flex-wrap: wrap;
   width: fit-content;
   margin: 0 auto;
   padding: 0 1rem;
   gap: 0.5rem;
   justify-content: center;
   background: var(--base-01);
   border: none;
   border-radius: 0.25rem;
   color: var(--primary);
   font-size: var(--text-base);
   height: 2.25rem;
   align-content: center;
   font-size: var(--text-sm);
   font-weight: 600;
   text-decoration: none;
   transition: all 0.3s ease-in-out;
}
header.homepage .text-wrapper .button:hover {
   background: var(--base-03);
   color: var(--primary-focus);
   transition: all 0.3s ease-in-out; 
}


/* MIN-W 0px LAYOUT: Homepage - Introduction */
#sectionIntroduction {
    background: var(--base-03);
    text-align: center;
    padding-bottom: 0;
}

#sectionIntroduction h2 {
    font-size: var(--text-xl);
    color: var(--base-mute);
    line-height: 1.5;
    text-wrap: balance;
}

/* MIN-W 0px LAYOUT: Homepage - Tabs */
#sectionHomepageFilms .wrapper {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#sectionHomepageFilms {
    background: var(--base-03);
}

#sectionHomepageFilms nav.tabs {
    box-shadow: unset;
    position: unset;
    border-bottom: 1px solid var(--border-primary);
}

#sectionHomepageFilms nav.tabs ul {
    display: flex;
    flex-direction: row;
    gap: .25rem;
    list-style-type: none;
    padding: 0.5rem 0rem;
    font-size: var(--text-xs);
    white-space: nowrap;
    /*overflow-x: scroll;*/
    overflow-y: hidden;
}

#sectionHomepageFilms nav.tabs ul li button,
#sectionHomepageFilms nav.tabs ul li button:visited {
    background: none;
    text-decoration: none;
    flex-shrink: 1;
    border-radius: 0.25rem;
    color: var(--base-mute);
    border: none;
    display: block;
    font-size: var(--text-sm);
    font-weight: 500;
    text-decoration: none;
    padding: .25rem 1rem;
    text-align: center;
    text-decoration: none;
    position: relative;
}

#sectionHomepageFilms nav.tabs ul li button:hover {
    background: var(--base-04);
    text-decoration: none;
}

#sectionHomepageFilms nav.tabs ul li button.active {
    color: var(--base-content);
    background: var(--base-01);
    text-decoration: none;
}

#sectionHomepageFilms nav.tabs ul li button::after {
    content: ' ';
    position: absolute;
    width: 100%;
    height: 1px;
    bottom: -.5rem;
    left: 0;
    border-bottom: 2px solid var(--base-content);
    border-radius: 2px;
    visibility: hidden;
    opacity: 0;
    transition: all 0.5s ease-in-out;
}

#sectionHomepageFilms nav.tabs ul li button.active::after {
    visibility: visible;
    opacity: 100;
    transition: all 0.5s ease-in-out;
}

#sectionHomepageFilms .tab-pane {
    display: none;
    opacity: 0;
    animation: fade 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

@keyframes fade {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

#sectionHomepageFilms .tab-pane.active {
    display: flex;
    opacity: 1;
    animation: show 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
}

@keyframes show {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

/* MIN-W 0px LAYOUT: Homepage - Films */
#sectionHomepageFilms .films-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1.5rem;
}

#sectionHomepageFilms .film-container {
    width: 100%;
    text-decoration: none;
}

#sectionHomepageFilms .film-container img {
    margin-bottom: .5rem;
    box-shadow: none;
    border: 2px solid transparent;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    transition: all 0.5s ease-in-out;
}

#sectionHomepageFilms .film-container .poster {
    display: none;
}

#sectionHomepageFilms .titles-by-interest .film-container .landscape {
    display: none;
}

#sectionHomepageFilms .titles-by-interest .film-container .poster {
    display: unset;
}

#sectionHomepageFilms .film-container .interest {
    color: var(--base-content);
    font-size: var(--text-sm);
    transition: all 0.5s ease-in-out;
}

.film-container a {
    text-decoration: none;
}

#sectionHomepageFilms .film-container h3 {
    color: var(--base-mute);
    font-weight: 600;
    font-size: var(--text-2xl);
    transition: all 0.5s ease-in-out;
    line-height: 1.5;
    text-decoration: none;
}

#sectionHomepageFilms .film-container .subtitle {
    color: var(--base-content);
    font-size: var(--text-base);
    line-height: 1.325;
    transition: all 0.5s ease-in-out;
}

#sectionHomepageFilms .film-container:hover img {
    box-shadow: 0px 10px 15px -3px rgba(0,0,0,0.2);
    border: 2px solid var(--base-01);
    transition: all 0.5s ease-in-out;
}

#sectionHomepageFilms .film-container:hover .interest,
#sectionHomepageFilms .film-container:hover .subtitle {
    color: var(--base-emphasis);
    transition: all 0.5s ease-in-out;
}

#sectionHomepageFilms .film-container:hover h3 {
    color: var(--primary);
    transition: all 0.5s ease-in-out;
}
 a.see-all-link {
   font-weight: 600;
   text-decoration: none;
   color: var(--primary);
   margin-top: .5rem;
 }
 a.see-all-link:hover {
   text-decoration: underline;
   color: var(--primary-focus);
 }

 a.see-all-link i {
   margin-left: .5rem;
 }
 a.see-all-link:hover i {
   animation: bounce 1s infinite;
 }
@keyframes bounce {
   0%,
   100% {
     transform: translateX(0%);
     animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
   }
   50% {
     transform: translateX(33%);
     animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
   }
 }
/* MIN-W 0px LAYOUT: Homepage - Mailing List */
#sectionMailingList {
    background: var(--base-01);
}

#sectionMailingList h2 {
    text-align: center;
    color: var(--base-mute);
    line-height: 1.5;
    text-wrap: balance;
}

#sectionMailingList form {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap;
}

    #sectionMailingList form .fieldset {
        width: 100%;
        display: flex;
        flex-direction: column;
        gap: .25rem;
        text-align: left;
    }

#sectionMailingList form .fieldset label {
    font-size: var(--text-sm);
    color: var(--base-mute);
}

#sectionMailingList form .fieldset input,
#sectionMailingList form .fieldset select {
    border: 1px solid var(--border-neutral);
    border-radius: .25rem;
    font-size: var(--text-base);
    height: 3rem;
    padding: 0 1rem;
    width: 100%;
}

#sectionMailingList form .fieldset.email {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
}

#sectionMailingList form .fieldset.email label {
    width: 45%;
}

#sectionMailingList form .fieldset.email label:nth-of-type(2) {
    text-align: right;
    font-size: var(--text-xs);
}

#sectionMailingList form .fieldset.email span {
    color: var( --error);
}

#sectionMailingList form p {
    text-align: left;
}

#sectionMailingList form p a {
    color: var(--primary);
    font-weight: 600;
}

#sectionMailingList form input[type=submit] {
    cursor: pointer;
    border: none;
    margin: 0 auto;
    color: var(--primary-content);
    background: var(--primary);
    border-radius: .25rem;
    height: 3rem;
    padding: 0 2rem;
    font-weight: 600;
    font-size: var(--text-lg);
    transition: all 0.2s ease-out;
}

#sectionMailingList form input[type=submit]:hover {
    background: var(--primary-focus);
    transition: all 0.2s ease-out;
}

/* MIN-W 0px LAYOUT: Homepage - Information */
#sectionInformation {
    background: var(--primary)  url("https://cadmoremediastorage.blob.core.windows.net/b630d368-8a16-4e65-8537-2ab61d609eb6/ApplicationContent/bg-info-1600x400.jpg?sv=2018-03-28&sr=c&sig=m9Gx0L8Phfud63kdWotJ3H6FiZLHwoVNQyvrb9iko2U%3D&st=2025-07-30T08%3A32%3A04Z&se=2025-07-30T12%3A37%3A04Z&sp=r") center center/cover no-repeat;
    color: var(--primary-content);
    border-top: .5rem solid var(--error);
}

#sectionInformation .content {
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

#sectionInformation img {
    display: none;
}

#sectionInformation h2 {
    text-align: center;
}

#sectionInformation p {
    font-size: var(--text-base);
}

#sectionInformation a {
    font-weight: 600;
    text-decoration: underline;
    text-align: center;
}

#sectionInformation a:hover {
    color: var(--base-03);
}
.main-homepage .content-carousel header {
    padding: 0px 0px 1.5rem 0px;
    margin-top: 0px;
}
header.homepage .splide__arrow i {
   color: white;
}

/* MIN-W 360px LAYOUT: Homepage - Header */
@media (min-width: 360px) 
{
header.homepage .text-wrapper {
   gap: .75rem;
}
}

/* MIN-W 500px LAYOUT: Homepage */
@media (min-width: 500px) 
{
/* MIN-W 500px LAYOUT: Homepage - Hero */
header.homepage .text-wrapper {
   gap: 1rem;
}
header.homepage .text-wrapper .pre-header {
   font-size: var(--text-base);
}
header.homepage .text-wrapper h1 {
   font-size: var(--text-5xl);
}
header.homepage .text-wrapper p {
   font-size: var(--text-lg);
   text-wrap: balance;
}
header.homepage .text-wrapper .button {
   font-size: var(--text-base);
   height: 2.5rem;
}

/* MIN-W 500px LAYOUT: Homepage - Introduction */
#sectionIntroduction h2 {
   font-size: var(--text-xl);
   text-wrap: balance;
}
#sectionIntroduction p {
   font-size: var(--text-base);
}
}



/* MIN-W 640px LAYOUT: Homepage - Tabs */
/* MIN-W 640px LAYOUT: Homepage - Films */
/* MIN-W 640px LAYOUT: Homepage - Introduction */

@media (min-width: 640px) 
{
/* MIN-W 640px LAYOUT: Homepage - Header */
header.homepage .text-wrapper {
   gap: 1rem;
}
header.homepage .text-wrapper .pre-header {
   font-size: var(--text-lg);
}
header.homepage .text-wrapper h1 {
   font-size: var(--text-7xl);
}
header.homepage .text-wrapper p {
   font-size: var(--text-xl);
}
header.homepage .text-wrapper .button {
   font-size: var(--text-base);
   height: 2.5rem;
}

    #sectionHomepageFilms .film-container {
        width: calc((100% - 1.5rem) /2);
    }

    #sectionHomepageFilms .film-container .landscape {
        display: none;
    }

    #sectionHomepageFilms .film-container .poster {
        display: unset;
    }

    /* MIN-W 640px LAYOUT: Homepage - Mailing List */
    #sectionMailingList h2 {
        font-size: var(--text-3xl);
    }

    #sectionMailingList form p {
        font-size: var(--text-sm);
    }

#sectionIntroduction h2 {
   font-size: var(--text-4xl);
   text-wrap: balance;
}
#sectionIntroduction p {
   font-size: var(--text-lg);
}
#sectionHomepageFilms .film-container {
   width: calc((100% - 1.5rem) /2);
}
#sectionHomepageFilms .film-container .landscape {
   display: none;
}
#sectionHomepageFilms .film-container .poster {
   display: unset;
}

/* MIN-W 640px LAYOUT: Homepage - Hero */
header.homepage .text-wrapper {
   gap: 1rem;
}
header.homepage .text-wrapper .pre-header {
   font-size: var(--text-lg);
}
header.homepage .text-wrapper h1 {
   font-size: var(--text-7xl);
}
header.homepage .text-wrapper p {
   font-size: var(--text-xl);
}
header.homepage .text-wrapper .button {
   font-size: var(--text-base);
   height: 2.5rem;
}

}



/* MIN-W 768px LAYOUT: Homepage */
/* MIN-W 768px LAYOUT: Homepage - Hero */
@media (min-width: 768px) 
{

   #splideHomepageBanner-list  .splide__slide {
        height: calc(44.444444444444444vw);
        max-height: 40rem;
    }

    header.homepage .splide__slide > * {
        padding: 2rem 6rem;
    }
header.homepage .text-wrapper {
   height: 100%;
   width: 55%;
   margin-right: auto;
   text-align: left;
   display: flex;
   flex-direction: column;
   gap: .5rem;
   justify-content: center;
}
header.homepage .text-wrapper {
   gap: .75rem;
}
header.homepage .text-wrapper .pre-header {
   font-size: var(--text-base);
}
header.homepage .text-wrapper h1 {
   font-size: var(--text-5xl);
}
header.homepage .text-wrapper p {
   font-size: var(--text-lg);
}
header.homepage .text-wrapper .button {
   font-size: var(--text-base);
   margin: 0;
}


    /* MIN-W 768px LAYOUT: Homepage - Introduction */
    /* MIN-W 768px LAYOUT: Homepage - Tabs */
    /* MIN-W 768px LAYOUT: Homepage - Films */
    #sectionHomepageFilms .film-container {
        width: calc((100% - 3rem) /3);
    }

    #sectionHomepageFilms .film-container h3 {
        font-size: var(--text-xl);
    }
    /* MIN-W 768px LAYOUT: Homepage - Mailing List */
    /* MIN-W 768px LAYOUT: Homepage - Information */
    #sectionInformation .wrapper {
        display: flex;
        flex-direction: row;
        gap: 1.5rem;
    }

    #sectionInformation img {
        display: block;
        width: 10rem;
        height: auto;
        margin: auto 0;
    }

    #sectionInformation h2,
    #sectionInformation a {
        text-align: left;
        flex: none;
    }

    #sectionInformation p {
        font-size: var(--text-lg);
    }
}

/* MIN-W 1024px LAYOUT: Homepage */
@media (min-width: 1024px) 
{
    /* MIN-W 1024px LAYOUT: Homepage - Mailing List */
    #sectionMailingList h2 {
        font-size: var(--text-3xl);
    }

    #sectionMailingList form {
        gap: 1.5rem;
    }

    #sectionMailingList form .fieldset {
        width: calc((100% - 1.5rem)/2);
    }
/* MIN-W 1024px LAYOUT: Homepage - Introduction */
#sectionIntroduction h2 {
   font-size: var(--text-5xl);
   text-wrap: balance;
}
/* MIN-W 1024px LAYOUT: Homepage - Hero */
header.homepage .text-wrapper {
   gap: 1rem;
}
header.homepage .text-wrapper .pre-header {
   font-size: var(--text-lg);
}
header.homepage .text-wrapper h1 {
   font-size: var(--text-7xl);
}
header.homepage .text-wrapper p {
   font-size: var(--text-xl);
}
header.homepage .text-wrapper .button {
   font-size: var(--text-base);
   height: 2.5rem;
}
}

/* MIN-W 1280px LAYOUT: Homepage */
@media (min-width: 1280px) 
{
    /* MIN-W 1280px LAYOUT: Homepage - Hero --- greg changed this from max-height: 38rem to 6rem for carousels on home page (Apr 7 2025 */
    #splideHomepageBanner-list  .splide__slide {
        max-height: 38rem;
    }
    /* MIN-W 1280px LAYOUT: Homepage - Introduction */
    /* MIN-W 1280px LAYOUT: Homepage - Tabs */
    /* MIN-W 1280px LAYOUT: Homepage - Films */
    #sectionHomepageFilms .films-container {
        gap: 1.5rem;
    }

    #sectionHomepageFilms .film-container {
        width: calc((100% - 4.5rem) /4);
    }

    #sectionHomepageFilms .film-container h3 {
        font-size: var(--text-2xl);
    }

    /* MIN-W 1280px LAYOUT: Homepage - Mailing List */
    #sectionMailingList form {
        justify-content: flex-end;
    }

    #sectionMailingList form p {
        width: calc(100% - 180px);
    }

    #sectionMailingList form input[type=submit] {
        margin: auto 0;
    }
}

@media (min-width: 1632px) {
   header.homepage .text-wrapper {
      width: 90rem;
      margin: 0 auto;
      padding-right: 45%;
   }
}

@media (min-width: 1920px) {
    header.homepage .text-wrapper {
        padding-right: 36%;
    }
}
