/*
Theme Name: Divi Child Theme
Version: 2.0
Description: Basic Child Theme
Author: D&GG Advertising
Template: Divi
*/

/* ---Fonts for Ref----
Nobel Regular
font-family: "nobel", sans-serif;
font-weight: 400;
font-style: normal;

Nobel RegularItalic
font-family: "nobel", sans-serif;
font-weight: 400;
font-style: italic;

Nobel Bold
font-family: "nobel", sans-serif;
font-weight: 700;
font-style: normal;

Nobel Black
font-family: "nobel", sans-serif;
font-weight: 800;
font-style: normal;
*/
 
/*------- Fonts ------- */


h1, h2, h3, h4 {
    font-family: 'nobel', sans-serif;
    font-style: normal;
    font-weight: 800;
}

h5, h6 {
    font-family: 'nobel', sans-serif;
    font-style: normal;
    font-weight: 700;
}

body {
	font-family: "nobel", sans-serif;
	font-weight: 400;
	font-style: normal;
}

.cff-post-text {
	font-family: "nobel", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 14pt;
	color: black;
}

/* change the search input text color */
.et_pb_menu__search input::placeholder,
.et_pb_fullwidth_menu .et_pb_menu__search-input, 
.et_pb_menu .et_pb_menu__search-input {
    color: #fff; /* white */
}


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

/*------- Menu ------- */
    .et_pb_menu .et-menu.nav > li {
        padding-left: 15px !important; 
        padding-right: 15px !important; 
    }
    
    /* Capitalize only top-level menu items */
.et_pb_menu ul.et-menu > li > a,
.et_mobile_menu > li > .mobile-parent-label {
  text-transform: uppercase;
}

/* Prevent submenus from inheriting uppercase */
.et_pb_menu .sub-menu a,
.et_mobile_menu .sub-menu a {
  text-transform: none;
}

    
    
 .et_pb_menu--with-logo .et_pb_menu__menu>nav>ul>li>a {
    color: white;
}
    
/*submenu*/
.et_pb_menu li ul {
padding: 0px!important;
width: 300px;
background-color: white;
border-radius: 10px;
border: 2px solid black;
border-top: none;
text-transform: none;
} 

/*submenu list items*/
.et_pb_menu li li {
padding: 0!important;
    color: black;
}

/*edit the Divi submenu links*/
.et-menu li li a {
    padding: 8px 15px;
    width: 298px;
}




.et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu a {
    color: black!important;
}



.et-menu a, .et-menu a:hover {
transition: none!important;

}


}

/* =============================
   MOBILE MENU STYLING FOR SUBMENU
   ============================= */

@media only screen and (max-width: 980px) {

  /* Style the entire mobile dropdown menu */
  .et_pb_menu .et_mobile_menu {
    background-color: white !important;
    border-top: none !important;
    padding: 0 !important;
      text-transform: uppercase !important;
    
  }

  .et_mobile_menu {
    position: fixed !important;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    height: 55vh !important;
    overflow-y: auto !important;
    z-index: 9999 !important;

  }

  .et_mobile_menu.opened {
    padding: 5% !important; 
  }

  /* Optional: smoother scroll */
  .et_mobile_menu::-webkit-scrollbar {
    width: 10px;
  }
  
    .et_mobile_menu::-webkit-scrollbar-thumb {
    background-color: #ccc;
    border-radius: 3px;
  }


  /* Style all links in the mobile menu (including submenus) */
  .et_pb_menu .et_mobile_menu li a {
    color: black !important;
    padding: 15px 20px !important;
    display: block;
    font-weight: 600;
    font-size: 17px;
    border: none !important;
  }



/* Preserve original case for sub-menu links */
.et_mobile_menu .sub-menu a {
  text-transform: none !important;
}


  /* Optional: Add spacing between items */
  .et_pb_menu .et_mobile_menu li {
    border-bottom: 1px solid black;
  }
  


.et_pb_menu_0_tb_header.et_pb_menu ul li a {
    font-weight: 600;
    font-size: 17px;
    color: black!important;
}

.mobile-parent-label {
  display: block;
  padding: 15px 20px;
  font-weight: 600;
  font-size: 17px;
  color: black !important;
  background-color: white !important;
}


/*------- submenu collapse ------- */
/*change hamburger icon to x when mobile menu is open*/

#et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before,
.et_pb_module.et_pb_menu .et_mobile_nav_menu .mobile_nav.opened .mobile_menu_bar::before {
	content: '\4d';
}


/*adjust the new toggle element which is added via jQuery*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
ul.et_mobile_menu li.page_item_has_children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.page_item_has_children .mobile-toggle {
	width: 44px;
	height: 100%;
	padding: 0px !important;
	max-height: 44px;
	border: none;
	position: absolute;
	right: 0px;
	top: 0px;
	z-index: 999;
	background-color: transparent;
}


/*some code to keep everyting positioned properly*/

ul.et_mobile_menu>li.menu-item-has-children,
ul.et_mobile_menu>li.page_item_has_children,
ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.page_item_has_children,
.et-db #et-boc .et-l ul.et_mobile_menu>li.menu-item-has-children .sub-menu li.menu-item-has-children {
	position: relative;
}


/*remove default background color from menu items that have children*/

.et_mobile_menu .menu-item-has-children>a,
.et-db #et-boc .et-l .et_mobile_menu .menu-item-has-children>a {
	background-color: transparent;
}


/*hide the submenu by default*/

ul.et_mobile_menu .menu-item-has-children .sub-menu,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu {
	display: none !important;
	visibility: hidden !important;
}


/*show the submenu when toggled open*/

ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
#main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #et-boc .et-l ul.et_mobile_menu .menu-item-has-children .sub-menu.visible,
.et-db #main-header ul.et_mobile_menu .menu-item-has-children .sub-menu.visible {
	display: block !important;
	visibility: visible !important;
}


/*adjust the toggle icon position and transparency*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle {
	text-align: center;
	opacity: 1;
}


/*submenu toggle icon when closed*/

ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle::after {
	top: 10px;
	position: relative;
	font-family: "ETModules";
	content: '\33';
	color: white;
	background: black;
	border-radius: 50%;
	padding: 3px;
}


/*submenu toggle icon when open*/

ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after,
.et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children.dt-open>.mobile-toggle::after {
	content: '\32';
}


/*add point on top of the menu submenu dropdown*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu:after {
	position: absolute;
	right: 5%;
	margin-left: -20px;
	top: -14px;
	width: 0;
	height: 0;
	content: '';
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
	border-bottom: 20px solid #ffffff;
}


/*adjust the position of the hamburger menu*/

.mobile_menu_bar {
	position: relative;
	display: block;
	bottom: 10px;
	line-height: 0;
	padding: 30px 5px 5px 5px;
}


/*force the background color and add a rounded border*/

.et_pb_menu_0.et_pb_menu .et_mobile_menu,
.et_pb_menu_0.et_pb_menu .et_mobile_menu ul {
	background-color: #ffffff!important;
	border-radius: 10px;
}

.et_mobile_menu .menu-item-has-children .sub-menu{
display: none !important;
}

.pa-block{
display: block !important;
height: fit-content !important;
padding-top: 0 !important;
margin-top: 0 !important;
padding: 5% !important;
margin-bottom: 0 !important;
margin-top: 0 !important;
}

.et_mobile_menu .menu-item-has-children .pa-submenu{
display: block !important;
}

.opened .et_mobile_menu{
padding: 5% !important;
}


ul.et_mobile_menu li.menu-item-has-children .mobile-toggle, .et-db #et-boc .et-l ul.et_mobile_menu li.menu-item-has-children .mobile-toggle{
    	    text-align: right;
    	    width: 100%;
    }


}


/*------- end submenu collapse ------- */

/*------- Homepage Remove seconds timer ------- */
.et_pb_countdown_timer_container .seconds,
.et_pb_countdown_timer_container .seconds ~ .sep.section {
    display: none !important;
}


/* Style each time section */
.et_pb_countdown_timer .section {
  background-color: #F9C86C;
  padding: 10px;
  border-radius: 6px;
  display: inline-block;
}

/* Optional: Center text and adjust spacing inside */
.et_pb_countdown_timer .section .value,
.et_pb_countdown_timer .section .label {
  display: block;
  text-align: center;
}

.et_pb_countdown_timer .section.values {
    width: 25%;
    max-width: 160px;
    vertical-align: top;
}


.et_pb_countdown_timer .sep.section {
  background-color: #FEF4E2;
  color: #FEF4E2;
  padding: 4px 2px;
  border-radius: 4px;
  display: inline-block;
  font-weight: bold;
}

/* light yellow timer background */
.et_pb_countdown_timer .et_pb_countdown_timer_container {
    width: 100%;
    text-align: center;
    position: relative;
    vertical-align: top;
    background-color: #FEF4E2;
    padding: 20px 10px;
    border-radius: 10px;
}


/*------- Global Forminator Styles -------*/

/* Labels */
.forminator-ui.forminator-design--default .forminator-label {
    font-size: 18px !important;
    font-family: inherit;
    font-weight: 700;
    color: black;
    padding: 0 0 5px 0;
}

/* Descriptions */
.forminator-ui.forminator-design--default .forminator-description,
.forminator-ui.forminator-design--default .forminator-description p {
    margin: -5px 0 5px 0 !important;
    font-size: 17px !important;
}

/* Input fields (text, email, etc.) */
.forminator-ui.forminator-design--default .forminator-input,
.forminator-ui.forminator-design--default .forminator-input:active,
.forminator-ui.forminator-design--default .forminator-input:disabled,
.forminator-ui.forminator-design--default .forminator-input:focus,
.forminator-ui.forminator-design--default .forminator-input:hover {
    outline: 1px black !important;
    border-radius: 10px !important;
    padding: 15px !important;
}

/* Form titles */
.forminator-ui.forminator-design--default .forminator-title {
    font-size: 25px !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
    color: #F9C86C !important;
    margin: 10px 0 -10px 0 !important;
}

/* Add vertical spacing between each form field */
.forminator-ui.forminator-design--default .forminator-row {
    margin: 25px 50px 25px 0px!important; /* Adjust spacing as needed */
}

/* Remove extra padding from side-by-side fields */
.forminator-ui.forminator-design--default .forminator-col.forminator-col--md-6 {
    padding-left: 0 !important;
    padding-right: 15px !important; /* Optional: Adjust this if you want spacing between columns */
}

/* Optional: Add a little spacing between columns only */
.forminator-ui.forminator-design--default .forminator-col.forminator-col--md-6:nth-child(2) {
    padding-left: 15px !important;
}

/*   Casting Notice page   */
.et_pb_blog_0:not(.et_pb_blog_grid_wrapper) .et_pb_post {
    padding: 50px!important;
}

.et_post_meta_wrapper {
	display: none!important;
}

    .single #sidebar {
        display: none;
    }
    .single #left-area {
        width: 100%;
    }
    .single #main-content .container:before {
        width: 0; /* Removes any padding/margin that might prevent true fullwidth */
    }
    

/*position the blog posts to prepare for moving the meta*/

.pa-blog-separators article {
	position: relative;
}

/*move the Divi Blog post meta published date*/

.pa-blog-separators .et_pb_blog_grid .et_pb_post .post-meta span.published {
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 15px 20px!important;
	color: black!important;
}



/* Add spacing above the post title */
.pa-blog-separators .et_pb_blog_grid .et_pb_post .entry-title {
    margin: 0!important;
    position: relative;
    z-index: 1;
}

/* "Published on" */
.pa-blog-separators .et_pb_blog_grid .et_pb_post .post-content-inner {
    margin: 20px 0 30px 0!important;
    z-index: 1;
     position: relative;
}

/* Add "Published on" before the published date */
.pa-blog-separators .et_pb_blog_grid .et_pb_post .post-meta span.published::before {
    content: "Published on ";
    font-weight: normal;
    color: inherit;
}

/* Style the full blog post box */
.pa-blog-separators .et_pb_blog_grid .et_pb_post {
    border: 2px solid black;
    border-radius: 10px;
    overflow: hidden; /* Ensures inner content respects the border radius */
    padding: 20px;
    box-sizing: border-box;
    background-color: #fff; /* Optional for clarity */
}


/* General tag link style */
.post-tags {
  	position: absolute;
	bottom: 0;
	right: 0;
	padding: 6px 20px;
	margin: 15px 0 7px 0!important;

}

.post-tags a {
  padding: 4px 10px;
  margin: 0 5px 5px 0;
  display: inline-block;
  text-decoration: none;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  	border-radius: 10px;
}

/* Specific color for Paid */
.post-tags a[href*="tag/paid"] {
  background: #28a745; /* Bootstrap green */
  color: #fff;
}

/* Specific color for Unpaid */
.post-tags a[href*="tag/unpaid"] {
  background: #808080;
  color: #fff;
}

/* Optional hover effect */
.post-tags a:hover {
  opacity: 0.85;
}


/* Bullet points */
.entry-content ol li, .entry-content ul li {
    margin-bottom: 15px;
}


.entry-content ol li, .entry-content ul li ul li {
    margin-bottom: 0px;
}

.image-row {
  display: flex;
  align-items: flex-start;
   width: 60%;
}

.image-row img {
  height: auto;
  width: auto;
}

.text-under {
  margin-top: 15px; /* optional spacing */
  font-weight: 400;
  font-size: 17px;
  color: black !important;
}


.image-2 {
    margin: 30px 0 0 -45px;
}


.spotlight-section {
  position: relative;
  overflow: hidden;
}

.spotlight-section::before {
  content: "";
  position: absolute;
  top: -50%;
  left: -50%;
  width: 200%;
  height: 200%;
  background: radial-gradient(
    circle at center,
    rgba(255, 255, 255) 0%,
    rgba(255, 255, 255) 15%,
    rgba(0, 0, 0) 50%
  );
  pointer-events: none;
  z-index: 10;
  animation: spotlightSweep 6s ease-out forwards;
  opacity: 0.85;
  transform: scale(0.6); /* Shrinks the circle itself */
  mix-blend-mode: screen;
}


@keyframes spotlightSweep {
  0% {
    left: -60%;
    opacity: 1;
  }
  40% {
    left: 30%;
    opacity: 0.8;
  }
  70% {
    left: -80%;
    opacity: 0.5;
  }
  100% {
    left: 50%;
    opacity: 0;
  }
}

/* location page slider */
.lwp-slick-slider .slick-slide {
    padding-right: 0;
    padding-left: 0;
    margin-right:-1px;
    margin-left:-1px;
}

/* Scope only to the Locations page carousel */
.locations-carousel .slick-slider,
.locations-carousel .slick-list,
.locations-carousel .slick-track,
.locations-carousel .slick-slide {
  height: 300px !important;         /* set your desired fixed height */
}

/* keep each slide from shrinking and center the content */
.locations-carousel .slick-slide {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

/* make images fill the fixed slot without distortion (cropped if needed) */
.locations-carousel .slick-slide img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;                 /* crop edges to keep aspect ratio */
  display: block;
}


.slick-dots {
    position: absolute;
    bottom: -35px!important;
    display: block;
    width: 100%;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
}


/* Film archives styling */

/* General Table Styling */
.tablepress {
  --timeline-left-col-width: 80px; /* left column width */
  border-collapse: collapse;
  width: 100%;
  font-family: Arial, sans-serif;
}

/* Remove default borders */
.tablepress th,
.tablepress td {
  border: none !important;
}

/* Header row */
.tablepress thead th {
  background: #f9c86c;
  color: black;
  text-align: center;
  padding: 40px;
  font-weight: bold;
    font-size: 25px;
}

/* tbody positioning for the vertical line */
.tablepress tbody {
  position: relative;
}

/* Vertical line spanning the full left column */
.tablepress tbody::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 18.5%;
  width: 9px;
  background: black;
  z-index: 1;
  pointer-events: none;
}

/* Left column (year) */
.tablepress tbody td:first-child {
  width: var(--timeline-left-col-width);
  text-align: center;
  vertical-align: middle;
  position: relative; /* for bubble stacking */
  padding: 12px 8px;
  background: transparent;
}

/* Year bubble */
.tablepress tbody td:first-child strong {
  display: inline-block;
  background: #f9c86c; /* Gold */
  color: #000;
  padding: 18px 40px;
  border-radius: 30px;
  font-weight: bold;
  font-size: 28px;
  position: relative;
  z-index: 2; /* above vertical line */
}

/* Prevent hover background on left column */
.tablepress tbody td:first-child:hover {
  background: transparent !important;
}

/* Right column (movie titles) */
.tablepress tbody td:last-child {
  padding: 15px;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.2em;
  text-align: center;
  vertical-align: middle;
  background: transparent; /* background handled by JS group */
}

/* Movie links */
.tablepress tbody td:last-child a {
  color: #000;
  text-decoration: none;
  transition: color 0.3s ease;
}
.tablepress tbody td:last-child a:hover {
  color: #f9c86c; /* Gold hover */
  text-decoration: underline;
}

/* Group-based striping: applied to entire row (both columns) */
.tablepress tbody tr.group-odd {
  background: #ffffff; /* white */
}
.tablepress tbody tr.group-even {
  background: #f0f0f0; /* light grey */
}

/* Hover effect only affects right column */
.tablepress tbody tr:hover td:last-child {
  filter: brightness(0.98);
}

/* Left column (year) */
.tablepress tbody td:first-child,
.tablepress thead th:first-child {
  width: 100px !important;  /* force smaller width */
  min-width: 100px;         /* prevent shrinking too small */
  max-width: 100px;
}

/* Right column (movie titles) */
.tablepress tbody td:last-child,
.tablepress thead th:last-child {
  width: auto;             /* fill remaining space */
}


/* =============================
   MOBILE STYLING FILM ARCHIVES
   ============================= */
@media only screen and (max-width: 1200px) {

  /* Table wrapper */
  .tablepress {
    --timeline-left-col-width: 70px;
    width: 100%;
  }

  /* Header row */
  .tablepress thead th {
    padding: 14px 8px;
    font-size: 18px;
    line-height: 1.2;
    position: relative;
    z-index: 3; /* keep header above line */
    background: #f9c86c; /* ensure header background covers line */
  }

  /* Positioning for timeline line */
  .tablepress tbody {
    position: relative;
  }

  /* Vertical line — start after header */
  .tablepress tbody::before {
    content: "";
    position: absolute;
    top: 0;                 /* stays inside tbody, not over thead */
    bottom: 0;
      left: var(--timeline-left-col-width);
  transform: translateX(-50%); /* centers line in the column */
    width: 8px;
    background: #000;
    z-index: 1;
  }

  /* Left column (years) */
  .tablepress tbody td:first-child {
    width: var(--timeline-left-col-width);
    min-width: var(--timeline-left-col-width);
    max-width: var(--timeline-left-col-width);
    padding: 8px 4px;
    text-align: center;
    vertical-align: middle;
    background: transparent;
    position: relative;
    z-index: 2; /* stays above the line */
  }

  /* Year bubble */
  .tablepress tbody td:first-child strong {
    display: inline-block;
    background: #f9c86c;
    color: #000;
    padding: 8px 15px;
    border-radius: 20px;
    font-size: 22px;
    font-weight: bold;
    line-height: 1.2;
    position: relative;
    z-index: 2;
  }

  /* Right column (movie titles) */
  .tablepress tbody td:last-child {
    padding: 8px;
    font-size: 18px;
}
}


/* Location Page gallery */

/* Location Carousel - Always Visible Captions */
.locations-carousel .et_pb_module, 
.locations-carousel .slick-slide {
  position: relative; /* make image container the positioning context */
  overflow: hidden;
}

.locations-carousel .et_pb_module .caption,
.locations-carousel .slick-slide .caption,
.locations-carousel figcaption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  background: #000;     /* solid black background */
  color: #fff;          /* white text */
  font-size: 14px;
  font-weight: 400;
  font-family: sans-serif;
  padding: 8px 10px;
  margin: 0 10.5px;
  text-align: center;
  line-height: 1.3;
  z-index: 2;
  box-sizing: border-box;
}

/* Add horizontal spacing between slides */
.locations-carousel .slick-slide {
  padding: 0 8px; /* adjust number for how much gap you want */
  box-sizing: border-box;
}

/* Compensate by pulling track edges back so carousel width stays correct */
.locations-carousel .slick-list {
  margin: 0 -8px;
}

.locations-carousel .locations-carousel-caption {
    margin: 0 10.5px !important;
}
