:root{
  --nav-bg: #333;
  --text: #f2f2f2;
  --accent: #04AA6D;
  --submenu-bg: #444;
  --nav-h: 56px;
}
.greenText1 {
  color: #7FCA95;
  font-style: normal;
}
.black {
  background-color: #000;
}
.white {
  background-color: #fff;
}
.whiteText {
  color: #fff;
}
.btn {
  display: block;
}
.btn a {
  display: block;
  width: 100%;
  max-width: 400px;
  margin: 15px auto;
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.btn a:hover {
  transform: translateY(-5px);
  transform: scale(1.02);
}
.btn img {
  display: block;
  width: 100%;
  margin: 0 auto;
}
body {
  margin:0;
  font-family: Arial, Helvetica, sans-serif;
  background:#f4f4f4;
  background:#fff;
}
h1 {
  margin-bottom: 0;
}
h2 {
  text-transform: uppercase;
  font-style: normal;
  color: #7FCA95;
  font-weight: bold;
  letter-spacing: 1px;
  font-size: 1.5em;
  margin: 0;
  line-height: 1.5;

}
h3 {
    text-transform: uppercase;
    display: block;
    padding: 15px;
    background-color: #7FCA95;
    line-height: 1;
    text-align: center;
    font-weight: normal;
    font-style: italic;
    margin: 0;
    font-size: 1.2em;
}
h3.title {
  text-transform: capitalize;
  font-family: 'New Roman', serif;
  font-style: normal;
  font-size: 1.3em;
  padding: 10px 5px;
  font-weight: bolder;
  letter-spacing: .3px;
}
h3.whiteBoldTitle {
  font-weight: bold;
  font-style: normal;
  font-size: 1.5em;
  color: #fff;
}
h3.boldTitle, h3.boldTitleBlack {
  font-weight: bold;
  font-style: normal;
}
h3.boldTitleBlack {
  background-color: #000;
  color: #fff;
  padding: 0;
}
.h2 h2 {
  display: block;
  padding: 5px;
  background-color: #000;
  color: #7FCA95;
  text-align: center;
  font-family: 'New Roman', serif;
}
.h2, .h3 {
  display: block;
  width: 100%;
  padding: 0;
}
h2.submitText {
  color:#7FCA95; 
  text-align: center; 
  font-family: 'New Roman', serif; 
  line-height: 1; 
  margin: 40px auto; 
  font-size: 1em;
  text-transform: capitalize;
}
h4 {
  text-transform: uppercase;
  font-style: italic;
  font-size: 1.1em;
  font-weight: normal;
  text-align: center;
}
h5 {
  text-align: center;
  font-size: 1.3em;
  margin: 0;
  line-height: 1.2;
  padding: 0;
}
p {
  font-size: 1.05em;
  line-height: 1.5;
  text-align: center;
  color: #222;
  padding: 0 1%;
}
p.mt5p0 {
  margin: 5px 0 0 0;
  padding: 0;
  line-height: 1.3;
}
p.smaller, span.smaller {
  font-size: smaller;
}

.bodyWrap {
  display: block;
  width: 98%;
  padding: 0 1%;
  overflow: auto;
  max-width: 1100px;
  margin: 10px auto;
}
.bodyWrap a {
  color: #366ca3;
  text-decoration: none;
}
.bodyWrap a:hover {
  text-decoration: underline;
  cursor: pointer;
}
footer {
  display: block;
  width: 98%;
  padding: 3% 1% 2%;
  background-color: #000;
  margin: 10px auto 0;
}

footer .footerLinks {
    list-style: none;
    padding: 0 40px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: center;
    max-width: 960px;
}

/* footer links */
footer .footerLinks a {
    text-decoration: none;
    font-weight: bold;
}
footer .footerLinks a:hover {
  text-decoration: underline;
}

footer .threeColListWrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    padding: 20px;
    max-width: 760px;
    margin: 0 auto;
}

footer .threeColListWrap ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

footer a {
    color: #7FCA95;
    text-decoration: none;
    line-height: 1.5;
    font-weight: bold;
}
footer .threeColListWrap li {
  padding: 10px;
}
footer .threeColListWrap img {
    display: block;
    width: 100%;
}

/* NAV WRAPPER */
.nav-wrap {
    color: var(--text);
    width: 100%;
    background-color: #7FCA95;
    /*border: 1px solid #000;*/
    position: relative;
    z-index: 10000;
}

/* TOP BAR */
.nav-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px;
}

.brand img {
    width: 170px;
}

/* HAMBURGER */
.hamb {
    background: transparent;
    border: 0;
    color: #000;
    font-size: 2.5em;
    cursor: pointer;
    padding: 8px;
}

/* ===============  
   SLIDE-IN MENU  
   =============== */
.menu {
    position: fixed;
    top: 0;
    right: -320px;
    width: 320px;
    height: 100vh;
    background: #fff;
    list-style: none;
    margin: 0;
    padding: 0;           /* reset padding, we’ll use header + content */
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 15px rgba(0,0,0,0.15);
    z-index: 9999;
    overflow-y: auto;     /* allows vertical scrolling */
    -webkit-overflow-scrolling: touch; /* smooth scrolling on mobile */
}


/* menu links */
.menu > li a {
    padding: 15px 40px;
    font-size: 1.3em;
    text-decoration: none;
    text-transform: uppercase;
    font-weight: bold;
    display: block;
    color: #000;
    border-bottom: 1px solid #222;
}

.menu a:hover {
    background: var(--accent);
    color: #fff;
}

/* SUBMENU */
.dropdown {
    display: none;
    background: #000;
    padding: 0;
    margin: 0;
}

.dropdown li a {
    padding: 15px 40px;
    display: block;
    color: #fff;
    border-bottom: 1px solid #fff;
    text-transform: capitalize;
}

.dropdown li a:hover {
    background: var(--accent);
}

/* Small text links */
.menu .smallText {
    font-size: small;
    font-weight: normal;
    text-transform: capitalize;
}
/* close the menu header */
.menu-header {
    flex-shrink: 0;       /* don’t shrink when scrolling */
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    background: #fff;
    border-bottom: 1px solid #eee;
}

.menu-logo img {
    width: 130px;
    height: auto;
}
.menu > li a.menu-logo {
    padding: 20px;
    border: none;
}
.menu a.menu-logo:hover {
    background: none;
}
.close-btn {
    background: transparent;
    border: none;
    font-size: 36px;
    cursor: pointer;
    color: #000;
    line-height: 1;
    padding: 32px;
}


 /* SLIDESHOW */
.slideshow {
  position: relative;
  width: 100%;
  margin: 7px auto;
  overflow: hidden;
  height: auto; /* or any desired height, can be reduced on mobile */
  background-color: #000; /* optional, shows around smaller images */
}
.slides-wrapper {
  display: flex;
  transition: transform 0.6s ease-in-out;
  height: 100%;
}
.slide {
  flex: 0 0 100%;        /* full width per slide */
  display: flex;          
  justify-content: center; /* horizontal center */
  align-items: center;     /* vertical center */
}
.slide img {
  width: 100%;
  height: auto;
  display: block;
  max-width: 960px;
}

.twoColWrap {
  display: flex;
  gap: 20px;             /* space between columns */
  flex-wrap: wrap;     /* makes it responsive */
}
.twoColWrap h3 {
  margin-bottom: 20px;
}

.twoColWrap > div {
  flex: 1 1 48%;       /* flexible width (~2 cols with gap) */
  box-sizing: border-box;
  padding: 20px;
  background-color: #000;
}
.twoColWrap img {
  display: block;
  width: 100%;
  height: auto;
}
.twoColWrap ul {
    padding: 0;
    list-style: none;
    color: #3cef70;
    text-decoration: center;
}
.twoColWrap a {
  color: #ffffff;
  display: block;
  padding: 10px;
  text-align: center;
  text-decoration: none;
  font-size: 1.4em;
}
.twoColWrap a:hover {
  color: #fff;
}
.twoColWrap.white .rightBox, .twoColWrap.white .leftBox {
  background-color: #fff;
}
.twoColWrap.ImageText {
    align-items: center;
}
.twoColWrap.ImageText .rightBox p {
  text-align: left;
}
.twoColWrap.ImageText p {
  text-align: left;
}
.twoColWrap.ImageText.black {
  padding-top: 20px;
  gap: 0;
}
.twoColWrap.ImageText.black .h3 {
    padding: 0 20px;
}
.twoColWrap.ImageText.black p {
  color: #fff;
}
.twoColWrap.ImageText h3 {
  margin-bottom: 0;
}
.twoColWrap.ImageText.centerText p {
  text-align: center;
  width: 100%;
}

.twoColWrap.ImageText.centerText {
  align-items: flex-start;
}

.twoColWrap.centerText > div {
  padding: 20px;
}
.blackBox1, .whiteBox1 {
    display: block;
    background-color: #000;
    padding: 20px;
    margin: 20px 0;
}
.whiteBox1 {
    background-color: #fff;
    color: #000;
}
.blackBox1 h5 , .blackBox1 p {
  color: #fff;
}
.blackBox1 p.greenText1, .blackBox1 h5.greenText1{
  color: #7FCA95;
}
.blackBox1 img {
  display: block;
  width: 100%;
}
.whiteBox1.leftTextAlign, .whiteBox1.leftTextAlign h3, .whiteBox1.leftTextAlign h4, .whiteBox1.leftTextAlign h5, .whiteBox1.leftTextAlign p {
  text-align: left;
}
.whiteBox1.leftTextAlign h4, .whiteBox1.leftTextAlign h5, .whiteBox1.leftTextAlign p {
  padding: 0 15px;
}
.h3title {
    width: 96%;
    margin: 0 auto;
}

.cinema-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto auto;
    gap: 20px;
}

/* Boxes */
.cinema-left,
.cinema-right-top,
.cinema-right-bottom {
    background: #000;
    padding: 16px;
}

/* Left spans full height */
.cinema-left {
    grid-column: 1;
    grid-row: 1 / span 2;
}

/* Headings */
.cinema-grid h3 {
    margin-bottom: 12px;
}

/* Remove list markers + spacing */
.cinema-grid ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.cinema-grid li {
    margin-bottom: 8px;
    text-align: center;
}

/* Link styling */
.cinema-grid a {
    font-size: 1.2em;
    line-height: 1.5;
    color: #fff;
    text-decoration: none;
    font-weight: 500;
}

.cinema-grid a:hover {
    text-decoration: underline;
    color: #ddd;
}

/* Optional: spacing between lists */
.cinema-grid ul:last-child li:last-child {
    margin-bottom: 0;
}
/** ARCHIVE PAGE **/
.archiveMovieBox {
    margin: 7px auto;
}
.archiveMovieBox a {
  padding: 0;
}
.image2Col {
    display: flex;
    gap: 20px;
    align-items: center;
    padding: 10px 20px;
}
.image2Col.black p {
  color: #fff;
}
.image2Col img {
  display: block;
  width: 100%;
  height: auto;
}

.image2Col > .left, .image2Col > .right {
    flex: 1 1 50%;
}
.socilaMediaBtn ul {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 45px;                /* spacing between logos */
  padding: 0;
  list-style: none;
  margin: 20px 0;
  flex-wrap: wrap;          /* allow wrapping on small screens */
}

.socilaMediaBtn li {
  display: flex;
  align-items: center;
}

.socilaMediaBtn img {
  height: 60px;             /* nice large icons for desktop */
  width: auto;
  display: block;
  transition: transform 0.3s ease;
}

.socilaMediaBtn img:hover {
  transform: scale(1.1);
}
.copyright p {
  color: #fff;
}

.leftTextAlign, .leftTextAlign p {
  text-align: left;
}
/* NEWS PAGE */
.madMAX img {
  max-width: 400px;
  margin: 10px auto;
}
.news .twoColWrap.ImageText .rightBox p {
    font-size: 1.3em;
}
.documentary .blackBox1 h5 {
  color: #fff;
  margin: 30px 0 7px;
}
.documentary .blackBox1 p {
  padding: 0;
  margin: 0;
}
.documentary .blackBox1 .smaller {
  margin-top: 10px;
}
.mainImage {
  display: block;
  width: 100%;
  background-color: #000;
  margin: 7px auto;
}
.mainImage img {
  display: block;
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
#backToTop {
    position: fixed;            /* fixed to viewport */
    bottom: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    border: none;
    background: #ff0000;
    color: #fff;
    font-size: 22px;
    cursor: pointer;
    display: none;              /* hidden initially */
    z-index: 9999;
    box-shadow: 0 6px 15px rgba(0,0,0,0.25);
}

#backToTop:hover {
    background: #04aa6d;
}



@media (min-width: 600px) {
  h2.submitText {
    font-size: 1.5em;
  }
}

/* make the row responsive */
@media (max-width: 900px) {
  .socilaMediaBtn img {
    height: 50px;           /* slightly smaller for tablets */
  }
}

@media (max-width: 600px) {
  .nav-top {
    padding: 6px;
  }
  .brand img {
    width: 90px;
  }
  .hamb {
    font-size: 1.5em;
}
  h1 {
    font-size: 1.2em;
  }
  h2 {
    font-size: .95em;
  }
  .h2 h2 {
  font-size: 1.3em;
  }
  .btn img {
    max-width: 250px;
  }
  .socilaMediaBtn img {
    height: 35px;           /* smaller for mobile phones */
  }
  .socilaMediaBtn ul {
    gap: 12px;                /* spacing between logos */
  }
  .twoColWrap.mobileResponsive > div {
    flex: 1 1 100%;       /* flexible width (~2 cols with gap) */
  }
  .edit01 h3 {
    padding: 5px 0;
    font-size: 1em;
  }
  footer .footerLinks {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 20px;
      text-align: center;
  }
  .cinema-grid {
      display: grid;
      grid-template-columns: 1fr; /* stack sections */
      grid-auto-rows: auto;       /* height based on content */
      gap: 20px;

      width: auto;          /* take width of parent wrap */
      max-width: 100%;      /* don’t exceed parent */
      box-sizing: border-box;
      padding: 0;           /* padding stays in the wrap */
  }

  /* Boxes */
  .cinema-left,
  .cinema-right-top,
  .cinema-right-bottom {
      grid-column: 1;
      grid-row: auto;
      width: auto;       /* fill grid, but not 100% of viewport */
      height: auto;
      min-width: 0;      /* prevent overflow from long links */
      padding: 16px;     /* inner box padding */
  }
}

@media (max-width: 400px) {
  .socilaMediaBtn img {
    height: 32px;           /* extra small for tiny screens */
  }
}








