/*
Theme Name: Divi Child for Maples Rep
Template: Divi
Author: Neat + Nimble
*/

/* === Global === */
body {
  background: #ffffff;

}

/* === Typography === */

/* Headings: EB Garamond with graceful degradation */
h1, h2, h3, h4, h5, h6 {
  font-family: 'EB Garamond', 'Georgia', 'Palatino Linotype', 'Times New Roman', serif;
  color: #000000;
}

/* Body text: Montserrat with stylish sans-serif fallbacks */
body {
  font-family: 'Montserrat', 'Helvetica Neue', 'Segoe UI', 'Roboto', sans-serif;
  color: #000000;
}
.maplefooter a:link, .maplefooter a:visited {
	color: #FFFFFF;
}
.maplefooter a:hover {
	color: #d0e269; /* lime green */
}
blockquote {
	border-color:#d0e269; /* lime green */
	border-left: 4px solid;
	margin: 1.5em;
	font-size: 1.25em;
}

/* === Standard Button Styling for Divi Buttons === */

.et_pb_button {
  background-color: #000000;
  color: #FFFFFF;
  border: 2px solid #FFFFFF;
  box-shadow: 0 0 0 2px #000000; /* creates the outer black border */
  padding: 0.7em 1.5em;
  transition: all 0.3s ease;
  font-family: 'EB Garamond', 'Georgia', 'Palatino Linotype', 'Times New Roman', serif;
  border-radius: 0;
	font-size: 14px;
	text-transform:uppercase;
}

.et_pb_button:hover {
  background-color: #006e34;
  color: #FFFFFF;
  border-color: #000000;
  box-shadow: 0 0 0 2px #006e34; /* green outer border on hover */
	padding: 0.7em 1.5em;
}
/* Remove all icons from Divi buttons */
.et_pb_button:before {
    display: none !important;
    content: none !important;
}
.et_pb_button:after {
    display: none !important;
    content: none !important;
}

/* === BRIGHT Green Button Styling for Divi Buttons === */

.green.et_pb_button {
  background-color: #006e34;
  color: #FFFFFF;
  border: 2px solid #FFFFFF;
  box-shadow: 0 0 0 2px #006e34; /* creates the outer green border */
  padding: 0.7em 1.5em;
  transition: all 0.3s ease;
  font-family: 'EB Garamond', 'Georgia', 'Palatino Linotype', 'Times New Roman', serif;
  border-radius: 0;
}

.green.et_pb_button:hover {
  background-color: #000000;
  color: #FFFFFF;
  border-color: #006e34;
  box-shadow: 0 0 0 2px #000000; /* white outer border on hover */
	padding: 0.7em 1.5em;
}
/* === Olive Green Button Styling for Divi Buttons === */

.olive.et_pb_button {
  background-color: #989d15; /* olive color */
  color: #FFFFFF;
  border: 2px solid #000000;
  box-shadow: 0 0 0 2px #989d15; /* creates the outer green border */
  padding: 0.7em 1.5em;
  transition: all 0.3s ease;
  font-family: 'EB Garamond', 'Georgia', 'Palatino Linotype', 'Times New Roman', serif;
  border-radius: 0;
}

.olive.et_pb_button:hover {
  background-color: #006e34; /* Bright Green color */
  color: #FFFFFF;
  border-color: #000000;
  box-shadow: 0 0 0 2px #006e34; /* bright green outer border on hover */
	padding: 0.7em 1.5em;
}
/* === Lime Green Button Styling for Divi Buttons === */

.lime.et_pb_button {
  background-color: #d0e269; /* Lime color */
  color: #000000;
  border: 2px solid #000000;
  box-shadow: 0 0 0 2px #d0e269; /* Lime creates the outer green border */
  padding: 0.7em 1.5em;
  transition: all 0.3s ease;
  font-family: 'EB Garamond', 'Georgia', 'Palatino Linotype', 'Times New Roman', serif;
  border-radius: 0;
}

.lime.et_pb_button:hover {
  background-color: #e6ed9a; /* Not Lime Green color */
  color: #000000;
  border-color: #000000;
  box-shadow: 0 0 0 2px #e6ed9a; /* Not Lime green outer border on hover */
	padding: 0.7em 1.5em;
}
/* === Cream Button Styling for Divi Buttons === */

.cream.et_pb_button {
  background-color: #efebe4;
  color: #000000;
  border: 2px solid #000000;
  box-shadow: 0 0 0 2px #efebe4; /* creates the outer cream border */
  padding: 0.7em 1.5em;
  transition: all 0.3s ease;
  font-family: 'EB Garamond', 'Georgia', 'Palatino Linotype', 'Times New Roman', serif;
  border-radius: 0;
}

.cream.et_pb_button:hover {
  background-color: #FFFFFF;
  color: #000000;
  border-color: #000000;
  box-shadow: 0 0 0 2px #FFFFFF; /* white outer border on hover */
	padding: 0.7em 1.5em;
}
/* === White Button Styling for Divi Buttons === */

.white.et_pb_button {
  background-color: #FFFFFF;
  color: #006e34;
  border: 2px solid #000000;
  box-shadow: 0 0 0 2px #FFFFFF; /* creates the outer white border */
  padding: 0.7em 1.5em;
  transition: all 0.3s ease;
  font-family: 'EB Garamond', 'Georgia', 'Palatino Linotype', 'Times New Roman', serif;
  border-radius: 0;
}

.white.et_pb_button:hover {
  background-color: #efebe4;
  color: #000000;
  border-color: #006e34; /* creates the outer green border */
  box-shadow: 0 0 0 2px #efebe4; /* creates the outer cream border */
	padding: 0.7em 1.5em;
}
.et_pb_button:hover:after {
  display: none !important;
  content: "" !important;
  margin-left: 0 !important;
  opacity: 0 !important;
}

.et_pb_button:hover {
  transition: all 0.3s ease !important;
}


/* Container for both the Nav and the Phone info */
/* Mobile Styles (Default) */
.hdr-info-group {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  text-align: center;
  
  /* Mobile Padding */
  padding-top: 0px;
  padding-bottom: 10px; 
}

/* Desktop Styles (Applied when screen is 992px or wider) */
@media (min-width: 992px) {
  .hdr-info-group {
    /* Desktop Padding */
    padding-top: 45px;
    padding-bottom: 18px;
    
    /* Ensuring the alignment shifts for desktop too */
    align-items: flex-end;
    text-align: right;
  }
}

/* The Navigation Links Container */
.callout-nav {
  display: flex;
  flex-direction: column; /* Stacks vertically on mobile */
  gap: 20px;
  align-items: center;
}

/* Individual Link Styling */
.nav-link {
  color: #ffffff;
  text-decoration: none;
  font-family: "Times New Roman", Times, serif; /* Matches the formal theatre look */
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  display: flex;
  align-items: center;
  gap: 10px;
}

/* Icon sizing */
.icon {
  width: 32px; /* Adjust based on your image resolution */
  height: auto;
  display: block;
}

/* Box Office Text */
.box-office {
  color: #ffffff;
  font-family: "Times New Roman", Times, serif;
  font-size: 1.1rem;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.box-office a {
  color: #ffffff;
  text-decoration: none;
  margin-left: 5px;
}

/* --- Desktop Layout Transition --- */
@media (min-width: 992px) {
  .hdr-info-group {
    align-items: flex-end; /* Aligns everything to the right */
    text-align: right;
  }

  .callout-nav {
    flex-direction: row; /* Horizontal row on desktop */
    gap: 35px; /* Spacing between the three items */
  }
}

.curtainBG {
	background-image: url('https://dev.neatandnimble.com/maplesrep/wp-content/uploads/2026/03/BG_black-curtain-folds.webp');
	background-position: centerer top;
	background-size: cover;
	background-repeat: no-repeat;
	background-color:#000000;
}
.quicklinks p, .quicklinks a {
	text-transform:uppercase;
	text-align: center;
	font-size:16px;
	color:#000000;
}
.darkBG p {
	color:#ffffff;
}
.darkBG a {
	color:#d0e269;
}
.et_pb_text_color_light * {
  color: #fff !important; /* fix black override for light text */
}

/* --- Single Show Post Styling --- */
.hero-wrapper {
	display: flex;
    justify-content: space-between;
    align-items: flex-start; /* Keeps them aligned at the top */
    gap: 20px; /* Optional: adds space between the two columns */
}
.hero-left, .hero-right {
	flex:1;
}
.hero-left {
	max-width: 600px;
	padding-bottom:1.5em;
	display:block;
}
.hero-right {
	max-width: 400px;
	padding-bottom:1.5em;
	float:left;
	display:block;
}
.last-column {
	margin-right:0 !important; /* can't figure out et_pb rules */
}
.show-title {
	color:#FFFFFF;
	text-transform: uppercase;
	font-size:4.5em;
	font-weight:semi-bold;
}
.show-author {
	color:#FFFFFF;
	font-size:2.25em;
	font-weight:semi-bold;
}
.show-dates {
	color:#ffffff;
	line-height:1.6em;
	text-align:center;
}
.showbtn {
	text-align:center;
	margin:1em;
}
.show-hero {
    display: block;
    width: 100%;
    margin-bottom: 30px;
}

.show-hero img {
    width: 100%;
    height: auto;
    display: block;
}
.secondary-link {
	margin-top:1em;
	line-height:1.5em;
	text-align:center;
	font-style:italic;
}
.meta-genre a {
	color: #d0e269; /* lime green */
	font-style: italic;
}
.bottombits {
	padding:2em 0 5em 0;
}
/*-- Gets rid of divi sidebar pin line -- */
#main-content .container::before {
    display: none !important;
}

/* --- Current Shows Styling on Performances Page --- */
.shows-grid {
	display: flex;
    flex-wrap: wrap;       /* Allows items to wrap to the next line */
    justify-content: flex-start; /* Aligns them to the left */
    gap: 30px;             /* Space between the boxes */
    margin-top: 20px;
}
.grid-box {
	flex: 0 1 calc(33.333% - 20px); /* 3 columns minus the gap */
    display: flex;
    flex-direction: column;         /* Keeps Image on top, Card below */
    margin-bottom: 20px;
}
.show-image img {
	width: 100%;
    height: auto;
    display: block;
}
.show-card {
	padding: 15px 15px 20px 15px; /* Space around */
    display: flex;
    flex-direction: column;
	background:#000000;
}
.show-card a h3.grid-show-title {
	font-size:32px;
	color:#ffffff;
	font-family: 'Montserrat', 'Helvetica Neue', 'Segoe UI', 'Roboto', sans-serif;
}
.show-card a.more-link {
	color:#ffffff;
}
.show-card a.more-link:hover {
	font-style:italic;
	color: #d0e269; /* lime green */
}
.meta-genres a {
	color: #d0e269; /* lime green */
	font-style: italic;
}

.year-heading {
	text-align: center;
	font-size:2em;
	padding-top: 20px;
	border-top: 3px solid #d0e269; /* lime green */
}
@media (max-width: 767px) {
    .grid-box {
        flex: 0 1 100%;
    }
}

/* Splash Page Styles */
    .mrt-splash-container {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        min-height: 80vh;
        padding: 40px 20px;
        font-family: 'Montserrat', sans-serif;
        text-align: center;
        color: #333;
    }

    .mrt-logo {
        max-width: 300px;
        margin-bottom: 30px;
    }

    .mrt-content-card {
        background: #ffffff;
        padding: 40px;
        border-radius: 12px;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
        max-width: 600px;
        width: 100%;
    }

    .mrt-content-card h1 {
        font-size: 28px;
        color: #cc0000; /* Maples Brand Red */
        margin-bottom: 15px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: 1px;
    }

    .mrt-content-card p {
        font-size: 18px;
        line-height: 1.6;
        margin-bottom: 30px;
        color: #555;
    }

    .mrt-button-stack {
        display: flex;
        flex-direction: column;
        gap: 15px;
    }

    .mrt-btn {
        display: block;
        padding: 18px 25px;
        background: #cc0000;
        color: #ffffff !important;
        text-decoration: none !important;
        border-radius: 5px;
        font-weight: bold;
        font-size: 16px;
        transition: background 0.3s ease;
        text-transform: uppercase;
    }

    .mrt-btn:hover {
        background: #a30000;
    }

    .mrt-btn.secondary {
        background: #333;
    }

    .mrt-btn.secondary:hover {
        background: #000;
    }

    .mrt-socials {
        margin-top: 40px;
        display: flex;
        justify-content: center;
        gap: 20px;
    }

    .mrt-socials a {
        color: #cc0000;
        font-size: 24px;
        text-decoration: none;
    }
    
    @media (max-width: 768px) {
        .mrt-content-card { padding: 25px; }
        .mrt-content-card h1 { font-size: 22px; }
    }
