@import url("https://c.ststat.net/content/sites/BaseTemplate/css/WebOverrides.css");

/* Ivymode */
@import url("https://use.typekit.net/szt1fbf.css");

/* IvyEpic */
@import url("https://use.typekit.net/kfw5rrl.css");

body {
    --heading-font-family: 'ivymode';
    --body-font-family: 'ivyepic';
    --header-background-color: #1d462d;
    --t-breadcrumbs-background: #b61f00;
    --t-breadcrumbs-active-color: #fff;
	--t-breadcrumbs-inactive-color: #db8f80;
    --primary-link-color: #b61f00;
	--primary-link-color-reduced-med: #db8f80;
    --primary-link-color-reduced-max: #f0d2cc;
    --primary-link-color-hover: #b61f00cc;
    --secondary-link-color: #bca15c;
	--secondary-link-color-reduced-med: #e4d9be;
    --secondary-link-color-reduced-max: #f8f6ef;
    --secondary-link-color-hover: #bca15ccc;
    --body-background-color: #1d462d;
	--header-padding: 0rem;
    --heading-masthead-font-color: #fff;
	--logo-height: clamp(55px, 12vw, 90px);
    --header-height: calc(var(--logo-height) + (var(--header-padding) * 2));
	--event-image-display: none;
    --event-image-display-mobile: none;
    --tour-image-display: none;
    --tour-image-display-mobile: none;
    --checkout-order-image-display: none;
    --checkout-order-image-display-mobile: none;
}

/* Header */
.t-client-header {
	padding: var(--header-padding) 2rem var(--header-padding) 0;
	container-type: inline-size;
	background: var(--header-background-color);
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1000;
    height: var(--header-height);
    .g-inner {
        max-width: 100%;
        display: flex;
        align-items: center;
        justify-content: space-between;

        .t-client-logo {
            z-index: 100;
            background: #fff;
            padding: 0 1rem;
            position: relative;
            clip-path: polygon(0 0, 100% 0, 91% 100%, 0% 100%);

            img {
                max-height: var(--logo-height);
                /* margin-left: 20px;
                margin-top: 15px;
                transform: scale(.5); */
            }
            /* &::before {
                position: absolute;
                inset: 0;
                width: 100%;
                height: 100%;
                display: block;
                content: "";
                background-color: #FFFFFF;
                z-index: -1;
                -webkit-transform: rotate(10deg);
                transform: rotate(10deg);
                top: -30px;
                height: 110px;
                -webkit-box-shadow: 0 3px 10px rgba(19, 7, 0, 0.3);
                box-shadow: 0 3px 10px rgba(19, 7, 0, 0.3);
                width: 116%;
                height: 228px;
                top: -84px;
            } */
        }
        .t-client-menu {
            display: flex;
            align-items: center;
            gap: 1rem;
            .t-client-menu-nav {
                display: flex;
                align-items: center;
                gap: 1rem;
                .g-button {
                    min-width: 200px;
                    &.event-site {
                        background: var(--secondary-link-color);
                        
                        &:hover {
                            background: var(--secondary-link-color-hover);
                        }
                    }
                }
            }
        }
        .t-client-mobile-menu-toggle {
            background-color: transparent;
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: .25rem;
            display: none;
            position: relative;
            
            .line {
                width: 18px;
                height: 2px;
                background: #fff;
            }

            &.open {
                gap: 0;
                padding: 10px;

                .line {
                    position: absolute;
                }
                .line1 {
                    transform: rotate(45deg);
                }
                .line2 {
                    display: none;
                }
                .line3 {
                    transform: rotate(-45deg);
                }
            }
        }
        @container (max-width: 767px){
                
            .t-client-menu {
                .t-client-menu-nav {
                    display: none;
                    position: absolute;
                    max-width: 300px;
                    right: 0;
                    padding: 5vw;
                    background: var(--header-background-color);
                    flex-direction: column;
                    top: 5.5rem;
                    box-shadow: var(--price-row-box-shadow);
                    z-index: 9999;
                    .g-button.secondary {
                        margin-bottom: 1rem;
                    }
                }
            }
            .t-client-mobile-menu-toggle {
                display: flex;
            }
        }
	
    }
}
/* Header END */

/* Fixed Positioning */
.l-content {
	padding: 0;
	margin-top: calc(var(--header-height) + 40px);
    margin-bottom: 2rem;
}
.t-breadcrumbs-wrapper {
    position: fixed;
    top: var(--header-height);
    width: 100%;
    z-index: 999;
	.active,
	.before {
		font-weight: 700;
	}
}
/* Fixed Positioning END */

/* Masthead Styles */
.g-masthead-title,
.g-masthead-subtitle {
    text-align: center;
}
.masthead-title-grid {
	justify-content: center;
}
/* Masthead Styles END */

/* Ticket Options - Content Page */
.v-ticket-options {

    .g-grid-col:has(.thin) {
        display: grid;
        gap: 20px;
    }
    a.t-ui-box {
        background-size: cover;
        background-position: center;
        color: #fff;
        min-height: 200px;
        transition: ease-in-out 200ms;
        box-shadow: 0 4px 12px rgba(255,255,255,.25);
        align-content: center;
        justify-content: center;
        font-size: clamp(15px, 2vw, 18px);
        /* text-align: center; */
        padding: clamp(1rem, 2vw, 3rem);

        .t-ui-box-title {
            color: #fff;
            font-size: clamp(28px, 4vw, 42px);
            text-align: center;
        }
        .t-ui-box-list.checklist li::before {
            color: #fff;
        }
        &.thin {
            height: initial;
        }
        &#show-admission {
            background-image: url(../images/content-show-admission.png)
        }
        &#vip-packages {
            background-image: url(../images/content-vip-package.png)
        }
        &#workshops {
            background-image: url(../images/content-workshops.png)
        }
        &#family-pass {
            background-image: url(../images/content-family-magic-pass.png)
        }
    }
}
/* Ticket Options - Content Page END */

/* Calendar Edits */
.pv-event-calendar {
    .tour-calendar__navigation {
		.tour-calendar__navigation__heading {
			text-align: center;
		}
        .carousel {
            display: none;
        }
    }
    .pv-event-calendar-content {
        padding: 0;
		gap: .5rem;

        .pv-event-calendar-day {
			margin: 0;
            display: none;
			padding: 0;

            &:has(time[datetime="2026-11-26"], time[datetime="2026-11-27"], time[datetime="2026-11-28"], time[datetime="2026-11-29"]) {
				display: block;
            }
			.pv-calendar-day-date {
				float: initial;
				margin: 0;
				width: 100%;
				
				time {
					display: flex;
					align-items: center;
					justify-content: center;
					gap: .5rem;
					font-family: var(--heading-font-family);
					font-size: 22px;
					.pv-calendar-day-date-date {
						order: 1;
						font-weight: 700;
						font-size: inherit;
					}
					.pv-calendar-day-date-day {
						display: block;
						font-weight: 700;
						order: 0;
						font-size: inherit;
					}
				}
			}
			.pv-calendar-day-list {
				display: flex;
				flex-direction: column;
				gap: .5rem;
				padding: .5rem;

				.pv-calendar-day-event {
					padding: 0;
					&:has(.calendar-family-magic-pass) {
						order: 1;
					}
					&:has(.calendar-admission) {
						order: 2;
					}
					&:has(.calendar-workshops) {
						order: 3;
					}
					
					
					a {
						display: flex;
						flex-direction: column;
						align-items: flex-start;
						gap: 1rem;
						padding: .5rem;
						border: 2px solid #fff;
						border-radius: var(--med-border-radius);
						position: relative;
						margin: 0;

						&.calendar-admission {
							background: #e8edea;
							border-color: #a5b5ab;
							color:	#1d462d;
							.pv-calendar-day-event-icon {
								background: #a5b5ab;
							}
							.pv-calendar-day-event-main {
								background: #1d462d;
							}
						}
						&.calendar-family-magic-pass {
							background: var(--primary-link-color-reduced-max);
							border-color: var(--primary-link-color-reduced-med);
							color: var(--primary-link-color);
							.pv-calendar-day-event-icon {
								background: var(--primary-link-color-reduced-med);
							}
							.pv-calendar-day-event-main {
								background: var(--primary-link-color);
							}
						}
						&.calendar-workshops {
							background: var(--secondary-link-color-reduced-max);
							border-color: var(--secondary-link-color-reduced-med);
							color: var(--secondary-link-color);
							.pv-calendar-day-event-icon {
								background: var(--secondary-link-color-reduced-med);
							}
							.pv-calendar-day-event-main {
								background: var(--secondary-link-color);
							}
						}
						.pv-calendar-day-event-icon {
							order: 1;
							position: absolute;
							right: 0;
							top: 0;
							padding: 10px;
							font-size: 22px;
							border-bottom-left-radius: var(--med-border-radius);
						}
						.pv-calendar-day-event-title {
							order: 2;
							font-weight: 700;
							font-size: 22px;
							margin: 0;
							color: inherit;
							width: calc(100% - 50px);
						}
						.pv-calendar-day-event-main {
							color: inherit;
							order: 3;
							color: #fff;
							/* display: inline-flex; */
							display: none;
							align-items: center;
							gap: .5rem;
							padding: .2rem .4rem;
							border-radius: 20px;
							font-size: 13px;
							&::before {
								content: '\f017';
								font-family: var(--font-awesome-family);
								font-weight: 400;
							}
						}
						.pv-calendar-day-event-narr {
							color: var(--body-font-color);
							order: 4;
							ul {
								display: flex;
								flex-direction: column;
								gap: .25rem;

								li {
									display: flex;
									align-items: center;
									gap: .5rem;
									text-wrap: balance;

									&::before {
										font-family: var(--font-awesome-family);
										content: '\f2dc';
										font-weight: 400;
									}
								}
							}
						}
					}
				}
			}
        }
    }
}

/* Calendar Edits END */

/* Sessions Edits */
.v-sessions {
	.sessions-header-title {
		color: #fff;
	}
	.sessions-header-section {
		color: #fff;
		margin-bottom: 1rem;
	}
	.sessions-filter-view-bar {
		background: var(--section-background-color);
		padding: .5rem;
		margin-bottom: 15px;
		border-radius: var(--med-border-radius);
	}
	.sessions-grid-item-availability {
		display: none;
	}
	.sessions-header-section {
		padding-top: 0;
	}
	.ws-continue-btn {
		.g-button {
			background: var(--secondary-link-color);
			&:hover {
				background: var(--secondary-link-color-hover);
			}
		}
	}
	.sessions-basket {
		.info-popup {
			display: none;
		}
	}
}
/* Sessions Edits END */

/* Basket Edits */

.pv-shared-basket-header {
    position: relative!important;
    top: initial;
    right: initial;
	.basket-link.basket-black svg {
		height: 30px;
		width: 30px;
		path {
			fill: #fff;
		}
	}
}
.g-countdown-container.mobile-only {
	p {
		display: none;
	}
}

.v-basket-index {
    .t-client-menu {
    	.g-countdown-container {
            .page-countdown {
                margin: 0;
                padding: .25rem .5rem;
            }
        }
    }

	.g-grid-col:has(.your-basket) {
		display: none;
		&+.g-grid-col {
			width: 100%;
			max-width: 100%;
			min-width: 100%;
		}
	}
	.basket-options {
		.t-ui-box {
			background-size: cover;
			color: #fff;
			box-shadow: 0 4px 12px rgba(255, 255, 255, .25);
			align-content: flex-start;	
			min-height: 160px;		

			.t-ui-box-title {
				color: #fff;
			}
			.g-button {
				background: var(--secondary-link-color);
				max-width: 200px;
				&:hover {
					background: var(--secondary-link-color-hover);
				}
			}
		}
		.t-ui-box#ga {
			background-image: url(../images/content-show-admission.png);
			background-position: center;
		}
		.t-ui-box#workshops {
			background-image: url(../images/content-workshops.png);
		}
	}
}

/* Basket Edits END */

.g-tour-narratives,
.g-event-narratives {
	.g-ui-box-title {
		display: none;
	}
}
.mobile-only {

	.cca-fee-item {
		color: #fff;
		svg.icon-info {
			fill: #fff;
		}
	}
}

.v-tour-index {
	.selected-offer-introduction.alt-info-note {
		display: none;
	}
}
