/* Celebration List Styles */
.celebration-list {
  display: grid;
  grid-template-columns: 50% 50%;
  gap: 2rem;
  padding: 1rem 0;
  margin-top: 10px;
}

.celebration-item {
  position: relative;
  height: 300px;
  border-radius: 16px;
  overflow: hidden;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: #f0f0f0;
}

.celebration-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #000000;
  opacity: 0.4;
  z-index: 1;
}

.celebration-content {
  position: relative;
  z-index: 2;
}

.celebration-item:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.2);
}

.celebration-content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(0, 0, 0, 0.7));
  padding: 2rem 1.5rem 1.5rem 1.5rem;
  color: white;
  text-align: center;
}

.celebration-content a {
  color: white;
  text-decoration: none;
}

.celebration-title {
  margin: 0 0 10px 0 !important;
  font-family: "LINE_Seed_Sans", Sans-serif;
  font-size: 30px;
  font-weight: 800;
  text-transform: uppercase;
  color: #ffffff;
}

.celebration-content a:hover {
  color: white;
}

.celebration-date {
  color: #ffffff;
  margin-bottom: 7px !important;
  font-size: 15px;
}

.celebration-excerpt {
  color: #ffffff;
  font-size: 15px;
  margin-bottom: 0;
  line-height: 1;
}

.celebration-read-more a {
  display: inline-block;
  padding: 0.5rem 1rem;
  background-color: #0073aa;
  color: white;
  text-decoration: none;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.celebration-read-more a:hover {
  background-color: #005177;
}

/* Single Celebration Page Styles */
.celebration-single-wrapper {
  max-width: 800px;
  margin: 0 auto;
  padding: 2rem;
}

.celebration-single .celebration-header {
  margin-bottom: 2rem;
  text-align: center;
}

.celebration-single .celebration-title {
  font-size: 2.5rem;
  margin-bottom: 1rem;
  color: #333;
}

.celebration-single .celebration-meta {
  margin-bottom: 1.5rem;
  color: #666;
  font-size: 1.1rem;
}

.celebration-single .celebration-featured-image {
  margin-bottom: 2rem;
}

.celebration-single .celebration-featured-image img {
  width: 100%;
  height: auto;
  border-radius: 8px;
}

.celebration-single .celebration-content {
  line-height: 1.8;
  font-size: 1.1rem;
  margin-bottom: 2rem;
}

.celebration-single .celebration-excerpt {
  background: #f8f9fa;
  padding: 1.5rem;
  border-radius: 8px;
  border-left: 4px solid #0073aa;
}

.celebration-single .celebration-excerpt h3 {
  margin-top: 0;
  color: #0073aa;
}

/* Hide WordPress default post meta and navigation on single celebration pages */
.single-celebration .entry-meta,
.single-celebration .post-meta,
.single-celebration .entry-footer,
.single-celebration .post-navigation,
.single-celebration .nav-links,
.single-celebration .navigation,
.single-celebration .post-nav,
body.single-celebration .entry-meta,
body.single-celebration .post-meta,
body.single-celebration .entry-footer,
body.single-celebration .post-navigation,
body.single-celebration .nav-links,
body.single-celebration .navigation,
body.single-celebration .post-nav {
  display: none !important;
}

/* Archive Page Styles */
.celebration-archive-wrapper {
  width: 100%;
}

.container {
  max-width: 1340px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* Video Banner Styles */
.celebration-banner {
  position: relative;
  width: 100vw;
  height: 100vh;
  margin-left: calc(-50vw + 50%);
  overflow: hidden;
}

.celebration-video-container {
  position: relative;
  width: 100%;
  height: 100%;
}

.celebration-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.celebration-video-desktop {
  display: block;
}

.celebration-video-mobile {
  display: none;
}

.celebration-banner-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  align-items: center;
  justify-content: center;
}

.celebration-banner-content {
  text-align: center;
  color: white;
  position: relative;
  bottom: -41%;
}
.celebration-description h2 {
  font-family: "FlatlineSans", Sans-serif;
  font-size: 40px;
  font-weight: 600;
  color: var(--e-global-color-primary);
}
.celebration-description a {
  color: var(--e-global-color-primary);
}
.celebration-description {
  padding-top: 40px;
  padding-bottom: 0px;
}
.celebration-archive-page {
  background-color: #fff7eb !important;
}

.celebration-archive-title {
  font-family: "FlatlineSans", Sans-serif;
  font-size: 56px;
  font-weight: 600;
  color: #ffffff;
}

.celebration-banner-fallback {
  height: 60vh;
  min-height: 400px;
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  display: flex;
  align-items: center;
  justify-content: center;
}

.celebration-banner-fallback .celebration-archive-title {
  color: white;
}

/* Description Section */
.celebration-description {
  padding-top: 15px;
  text-align: center;
}

.celebration-description p {
  text-align: center;
  font-family: "LINE_Seed_Sans", Sans-serif;
  font-size: 20px;
  font-weight: 400;
  color: #343434;
}

/* Pagination */
.celebration-pagination {
  margin-top: 3rem;
  text-align: center;
}

/* Responsive Design */
@media (max-width: 768px) {
  .celebration-list {
    grid-template-columns: 1fr;
  }

  .celebration-item {
    margin-bottom: 1.5rem;
  }

  .celebration-single-wrapper {
    padding: 1rem;
  }

  .celebration-single .celebration-title {
    font-size: 2rem;
  }

  .celebration-archive-title {
    font-size: 2rem;
  }

  .celebration-video-desktop {
    display: none;
  }

  .celebration-video-mobile {
    display: block;
  }

  .container {
    padding: 0 1rem;
  }
}
h1 {
  font-family: "FlatlineSans", Sans-serif;
  font-size: 56px;
  font-weight: 600;
}
.ast-container {
  max-width: 1340px !important;
}

.ast-separate-container .ast-article-post,
.ast-separate-container .ast-article-single {
  padding: 0 !important;
}

.celebration-archive-page {
  margin-top: -100px;
}

.elementor-20761 {
  margin-top: -100px;
}
.elementor-20761 .elementor-element.elementor-element-3589040 {
  --display: flex;
  --min-height: 604px;
  --flex-direction: column;
  --container-widget-width: calc(
    (1 - var(--container-widget-flex-grow)) * 100%
  );
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --justify-content: flex-end;
  --align-items: flex-end;
  --overlay-opacity: 0.1;
  --margin-top: 0px;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --margin-right: 0px;
  --padding-top: 0px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}
.elementor-20761
  .elementor-element.elementor-element-3589040:not(
    .elementor-motion-effects-element-type-background
  ),
.elementor-20761
  .elementor-element.elementor-element-3589040
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-image: url("https://barracuda-r2.tumwebsme.com/cms/Celebration-Package.webp");
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
}
.elementor-20761 .elementor-element.elementor-element-3589040::before,
.elementor-20761
  .elementor-element.elementor-element-3589040
  > .elementor-background-video-container::before,
.elementor-20761
  .elementor-element.elementor-element-3589040
  > .e-con-inner
  > .elementor-background-video-container::before,
.elementor-20761
  .elementor-element.elementor-element-3589040
  > .elementor-background-slideshow::before,
.elementor-20761
  .elementor-element.elementor-element-3589040
  > .e-con-inner
  > .elementor-background-slideshow::before,
.elementor-20761
  .elementor-element.elementor-element-3589040
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer::before {
  background-color: #000000;
  --background-overlay: "";
}
.elementor-20761 .elementor-element.elementor-element-3589040.e-con {
  --align-self: center;
}
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-size: var(--e-global-typography-primary-font-size);
  font-weight: var(--e-global-typography-primary-font-weight);
  color: var(--e-global-color-primary);
}
.elementor-20761
  .elementor-element.elementor-element-b42b346
  > .elementor-widget-container {
  margin: 0px 0px 20px 0px;
}
.elementor-20761
  .elementor-element.elementor-element-b42b346.elementor-element {
  --align-self: center;
}
.elementor-20761 .elementor-element.elementor-element-b42b346 {
  text-align: center;
}
.elementor-20761
  .elementor-element.elementor-element-b42b346
  .elementor-heading-title {
  font-family: "FlatlineSans", Sans-serif;
  font-size: 56px;
  font-weight: 600;
  color: var(--e-global-color-secondary);
}
@media (max-width: 1390px) {
  .elementor-widget-heading .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size);
  }
}
@media (max-width: 1024px) {
  .elementor-20761 .elementor-element.elementor-element-3589040 {
    --min-height: 50vh;
  }
  .elementor-20761
    .elementor-element.elementor-element-3589040:not(
      .elementor-motion-effects-element-type-background
    ),
  .elementor-20761
    .elementor-element.elementor-element-3589040
    > .elementor-motion-effects-container
    > .elementor-motion-effects-layer {
    background-position: center center;
    background-size: cover;
  }
  .elementor-widget-heading .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size);
  }
  .elementor-20761
    .elementor-element.elementor-element-b42b346
    > .elementor-widget-container {
    margin: 0px 0px 40px 0px;
  }
}
@media (max-width: 767px) {
  .elementor-20761 .elementor-element.elementor-element-3589040 {
    --min-height: 50vh;
  }
  .elementor-20761
    .elementor-element.elementor-element-3589040:not(
      .elementor-motion-effects-element-type-background
    ),
  .elementor-20761
    .elementor-element.elementor-element-3589040
    > .elementor-motion-effects-container
    > .elementor-motion-effects-layer {
    background-position: center center;
    background-size: cover;
  }
  .elementor-widget-heading .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size);
  }
  .elementor-20761
    .elementor-element.elementor-element-b42b346
    > .elementor-widget-container {
    margin: 0px 0px 20px 0px;
  }
  .elementor-20761
    .elementor-element.elementor-element-b42b346
    .elementor-heading-title {
    font-size: 40px;
  }
}
@media (min-width: 1559px) {
  .elementor-20761 .elementor-element.elementor-element-3589040 {
    --width: 100%;
  }
  .elementor-20761
    .elementor-element.elementor-element-3589040:not(
      .elementor-motion-effects-element-type-background
    ),
  .elementor-20761
    .elementor-element.elementor-element-3589040
    > .elementor-motion-effects-container
    > .elementor-motion-effects-layer {
    background-position: center center;
    background-size: cover;
  }
  .elementor-widget-heading .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size);
  }
} /* Start Custom Fonts CSS */
@font-face {
  font-family: "FlatlineSans";
  font-style: normal;
  font-weight: bold;
  font-display: auto;
  src: url("https://barracuda-r2.tumwebsme.com/cms/flatlinesans-semibold-webfont.woff2")
    format("woff2");
}
@font-face {
  font-family: "FlatlineSans";
  font-style: normal;
  font-weight: normal;
  font-display: auto;
  src: url("https://barracuda-r2.tumwebsme.com/cms/flatlinesans-semibolditalic-webfont.woff2")
    format("woff2");
}
/* End Custom Fonts CSS */

.single-celebration .elementor-20719 {
	background-color: #EBD9C5 !important;
}

/* map legend */
.elementor-20777 .elementor-element.elementor-element-281accb {
  --display: flex;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --margin-top: 10px;
  --margin-bottom: 0px;
  --margin-left: 0px;
  --margin-right: 0px;
  --padding-top: 30px;
  --padding-bottom: 0px;
  --padding-left: 0px;
  --padding-right: 0px;
}

.elementor-widget-heading .elementor-heading-title {
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-size: var(--e-global-typography-primary-font-size);
  font-weight: var(--e-global-typography-primary-font-weight);
  color: var(--e-global-color-primary);
}
.elementor-20777 .elementor-element.elementor-element-d786860 {
  text-align: center;
}
.elementor-20777
  .elementor-element.elementor-element-d786860
  .elementor-heading-title {
  font-family: "FlatlineSans", Sans-serif;
  font-size: 38px;
  font-weight: 600;
  color: #343434;
}
.elementor-widget-image .widget-image-caption {
  color: var(--e-global-color-text);
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-weight: var(--e-global-typography-text-font-weight);
}
@media (max-width: 1390px) {
  .elementor-widget-heading .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size);
  }
}
@media (max-width: 1024px) {
  .elementor-widget-heading .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size);
  }
}
@media (max-width: 767px) {
  .elementor-widget-heading .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size);
  }
}
@media (min-width: 1559px) {
  .elementor-widget-heading .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size);
  }
} /* Start Custom Fonts CSS */
@font-face {
  font-family: "FlatlineSans";
  font-style: normal;
  font-weight: bold;
  font-display: auto;
  src: url("https://barracuda-r2.tumwebsme.com/cms/flatlinesans-semibold-webfont.woff2")
    format("woff2");
}
@font-face {
  font-family: "FlatlineSans";
  font-style: normal;
  font-weight: normal;
  font-display: auto;
  src: url("https://barracuda-r2.tumwebsme.com/cms/flatlinesans-semibolditalic-webfont.woff2")
    format("woff2");
}
/* End Custom Fonts CSS */






/* Ticket CTA buttons */
.celebration-ticket-cta-wrapper {
  background-color: 
#fff7eb;
  padding: 0px 15px 5px;
}
.celebration-ticket-cta {
  margin: 0 auto 20px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 30px;
  flex-wrap: wrap;
  background-image: url("../../locationButton.png");
  background-size: cover;
  background-position: center;
  backdrop-filter: blur(2px);
}
.celebration-ticket-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 285px;
  min-height: 56px;
  border-radius: 999px;
  font-family: "LINE_Seed_Sans", Sans-serif;
  font-size: 18px;
  font-weight: 400;
  color: #ffffff;
  text-decoration: none;
  background-color: rgba(0, 0, 0, 0.7);
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}
.celebration-ticket-button:hover {
  transform: translateY(-2px);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.25);
  color: #ffffff;
}
.celebration-ticket-button--general {
  background-color: #006560;
}
.celebration-ticket-button--general:hover {
  background-color: #006560;
}
.celebration-ticket-button--vip {
  background-color: #CA9E65;
}
.celebration-ticket-button--vip:hover {
  background-color: #CA9E65;
}
@media (max-width: 767px) {
  .celebration-ticket-cta {
    gap: 20px;
    padding: 25px 20px;
    margin: 0px;
  }
  .celebration-ticket-cta-wrapper {
    padding: 0px;
  }
  .celebration-ticket-button {
    width: 100%;
    min-height: 56px;
    font-size: 20px;
    font-weight: 400;
  }
}
.elementor-20777 .elementor-element.elementor-element-281accb {
    --margin-top: 0px;
}
.elementor-20841 .elementor-element.elementor-element-7813697 {
    margin-bottom: 10px; 
}

/* Download pdf */

.elementor-20841 .elementor-element.elementor-element-0ed3cc0 {
  --display: flex;
  --min-height: 0px;
  --flex-direction: column;
  --container-widget-width: 100%;
  --container-widget-height: initial;
  --container-widget-flex-grow: 0;
  --container-widget-align-self: initial;
  --flex-wrap-mobile: wrap;
  --justify-content: flex-start;
}

.elementor-20841 .elementor-element.elementor-element-7813697 {
  --display: flex;
  --padding-top: 0px;
  --padding-bottom: 15px;
  --padding-left: 15px;
  --padding-right: 15px;
}
.elementor-20841 .elementor-element.elementor-element-9d02ddd {
  --display: flex;
  --min-height: 250px;
  --justify-content: center;
  --align-items: center;
  --container-widget-width: calc(
    (1 - var(--container-widget-flex-grow)) * 100%
  );
  --overlay-opacity: 0.3;
  --border-radius: 16px 16px 16px 16px;
}
.elementor-20841
  .elementor-element.elementor-element-9d02ddd:not(
    .elementor-motion-effects-element-type-background
  ),
.elementor-20841
  .elementor-element.elementor-element-9d02ddd
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer {
  background-image: url("https://barracuda-r2.tumwebsme.com/cms/New-year-package.webp");
  background-position: center center;
  background-size: cover;
}
.elementor-20841 .elementor-element.elementor-element-9d02ddd::before,
.elementor-20841
  .elementor-element.elementor-element-9d02ddd
  > .elementor-background-video-container::before,
.elementor-20841
  .elementor-element.elementor-element-9d02ddd
  > .e-con-inner
  > .elementor-background-video-container::before,
.elementor-20841
  .elementor-element.elementor-element-9d02ddd
  > .elementor-background-slideshow::before,
.elementor-20841
  .elementor-element.elementor-element-9d02ddd
  > .e-con-inner
  > .elementor-background-slideshow::before,
.elementor-20841
  .elementor-element.elementor-element-9d02ddd
  > .elementor-motion-effects-container
  > .elementor-motion-effects-layer::before {
  background-color: #000000;
  --background-overlay: "";
}
.elementor-widget-heading .elementor-heading-title {
  font-family: var(--e-global-typography-primary-font-family), Sans-serif;
  font-size: var(--e-global-typography-primary-font-size);
  font-weight: var(--e-global-typography-primary-font-weight);
  color: var(--e-global-color-primary);
}
.elementor-20841 .elementor-element.elementor-element-4fdf9b5 {
  text-align: center;
}
.elementor-20841
  .elementor-element.elementor-element-4fdf9b5
  .elementor-heading-title {
  font-family: "Arial", Sans-serif;
  font-size: 30px;
  font-weight: 600;
  text-transform: uppercase;
  color: #ffffff;
}
.elementor-widget-button .elementor-button {
  background-color: var(--e-global-color-accent);
  font-family: var(--e-global-typography-accent-font-family), Sans-serif;
  font-weight: var(--e-global-typography-accent-font-weight);
}
.elementor-20841
  .elementor-element.elementor-element-338f7dc
  .elementor-button {
  background-color: #ca9e65;
  border-radius: 20px 20px 20px 20px;
}

.background-opacity::before {
    background: #000000;
    opacity: 0.4;
}

.celebration-archive-content{
    padding-bottom: 5px;
}
.box-celebration-archive-content ul {
  margin-block-start: 1em;
  margin-block-end: 1em;
  padding-inline-start: 40px;
}

@media (min-width: 768px) {
  .elementor-20841 .elementor-element.elementor-element-0ed3cc0 {
    --content-width: 1360px;
  }
}
@media (min-width: 1391px) {
  .elementor-widget-heading .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size);
  }
  .celebration-list {
    grid-template-columns: 1fr 1fr;
    --content-width: 1024px;
  }
}
@media (max-width: 1390px) {
  .elementor-widget-heading .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size);
  }
  .celebration-list {
    grid-template-columns: 48.7% 48.7%;
    --content-width: 1024px;
  }
}
@media (max-width: 1024px) {
  .elementor-widget-heading .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size);
  }

}
@media (max-width: 767px) {
  .elementor-20841 .elementor-element.elementor-element-0ed3cc0 {
    --justify-content: flex-start;
    --align-items: center;
    --container-widget-width: calc(
      (1 - var(--container-widget-flex-grow)) * 100%
    );
    --padding-top: 30px;
    --padding-bottom: 30px;
    --padding-left: 0px;
    --padding-right: 0px;
  }
  .elementor-20841 .elementor-element.elementor-element-0ed3cc0.e-con {
    --align-self: center;
  }
  .elementor-widget-heading .elementor-heading-title {
    font-size: var(--e-global-typography-primary-font-size);
  }
  .celebration-list {
    display: block!important;
  }
}
@media (max-width: 767px) {
	.elementor-20719 .elementor-element.elementor-element-dbc5ba8 {
		--width: 100% !important;
        --align-items: center;
        --container-widget-width: calc((1 - var(--container-widget-flex-grow)) * 100%) !important;
        --margin-top: 0px !important;
        --margin-bottom: 0px !important;
        --margin-left: 0px !important;
        --margin-right: 0px !important;
        --padding-top: 0px !important;
        --padding-bottom: 0px !important;
        --padding-left: 0px !important;
        --padding-right: 0px !important;
		--grid-auto-flow: auto  !important;
		display: block !important;
		
	}
    .elementor-20719 .elementor-element.elementor-element-adda197 {
        --min-height: 225px !important;
        margin-bottom: -40px !important;
    }

}

@media (max-width: 350px) {
  .elementor-20719 .elementor-element.elementor-element-6a51688.e-con {
      display: block;
  }
}


@media (max-width: 1024px) and (min-width: 768px) {
  .elementor-20719 .elementor-element.elementor-element-c6fe888 {
      --width: 190px !important;
  }
  
  .celebration-list {
    grid-template-columns: 100%;
  }
}

@media (max-width: 880px) and (min-width: 768px) {
  .elementor-20719 .elementor-element.elementor-element-f25856b {
      --width: 130px !important;
  }
}
