/**********************
 * GLOBAL ADJUSTMENTS *
 **********************/
a {
    cursor: pointer;
}

a.nav-item {
    text-decoration: none;
}

body {
	background: #f1f1f1;
}

/* Because we are looping the carousel now, we want to remove this padding */
.photos.owl-carousel .owl-stage-outer {
    padding-left: 0px;
}

/* Trash bin should always be visible */
.trash {
    opacity: 1;
}

/***************
 * NEW CLASSES *
 ***************/
.fullwidth {
    width: 100%;
}

/* For adjusting the app icon */
.download img {
    height: 60px;
}

/* For links without anchor tags, used in Account and Login */
.pointer {
    cursor: pointer;
}

.background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/***************************
 *  RICH TEXT ADJUSTMENTS
 ***************************/

.payload-richtext .list-bullet {
    list-style: unset;
    padding-inline-start: 40px;
}

.payload-richtext blockquote {
    margin-block: 16px;
    margin-inline: 4px;
    border-inline-start-color: rgb(221, 221, 221);
    border-inline-start-width: 4px;
    border-inline-start-style: solid;
    -webkit-padding-start: 12px;
    padding-inline-start: 12px;
    padding-block: 4px;
}

.payload-richtext sup {
    vertical-align: text-top;
    font-size: .5em;
}

.payload-richtext > *:not(:last-child) {
    margin-bottom: 1rem;
}

/***************************
 *  COLOR ADJUSTMENTS
 ***************************/

.text-cota-white { color: #FFFFFF }
.text-cota-black { color: #202020 }
.text-cota-blue { color: #002D96 }
.text-cota-red { color: #EC1E24 }


/***************************
 *  RIDES MODULE ADJUSTMENTS
 ***************************/

.rides-item.clickable:hover {
    cursor: pointer;
}


/***************************
 *  CALENDAR ADJUSTMENTS
 ***************************/

.paging-btn.disabled {
    cursor: default;
}

.paging-btn.disabled:hover {
    color: #202020;
}


/***********************************
 * ADD-ONS DESCRIPTION ADJUSTMENTS *
 ************************************/
 /* TODO: verify that this is the only case of this */
.container.container-740.group-below {
    .block {
        display: block !important;
    }
}

/********************************
 * ENTITLEMENT ICON IMAGE SIZES *
 ********************************/
.icon-sm img {
    width: 40px;
    aspect-ratio: 1;
}

.icon-lg img {
    width: 96px;
    aspect-ratio: 1;
}

/*****************************************************
 * RAPID CLICK OF BUTTONS DON'T CAUSE TEXT SELECTION *
 *****************************************************/
.no-select {
    -webkit-user-select: none; /* Safari, Chrome, Opera */
    -moz-user-select: none;    /* Firefox */
    -ms-user-select: none;     /* Internet Explorer/Edge */
    user-select: none;         /* Standard */
}

/*************************************
 * RAPID CLICK OF BUTTONS DON'T ZOOM *
 *************************************/
*:not(.owl-stage,.owl-item,.ps) {
  touch-action: manipulation;
}

/*******************************
 * TICKET POLICY MODIFICATIONS *
 *******************************/
.ticket-policy {
    p:not(:last-child) {
        margin-bottom: 1rem;
    }
    p {
        font-size: 10px;
    }
    h1, h2, h3, h4, h5, h6 {
        margin-bottom: 2rem;
    }
}

/****************************
 * SIGN-IN: LINK STYLING *
 ****************************/

.block-signin a.link-underline {
    text-decoration: underline;
}

.block-signin a.disabled {
    color: #898A8D;
    pointer-events: none;
    text-decoration: none;
}

/************************************
 * ACCOUNT: SIGN-IN METHODS LAYOUT *
 ************************************/

.admin-control {
    flex-shrink: 0;
}

.admin-control .btns {
    justify-content: flex-end;
    width: auto;
}

@media (max-width: 599px) {
    .container-admin {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }
    .admin-option {
        gap: 16px;
    }
    .admin-control .btns {
        flex-direction: column;
        align-items: flex-end;
        gap: 8px;
    }
}

/******************************
 * MODALS: BACKDROP SCROLLING *
 ******************************/

.modal.dont-scroll-backdrop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    height: 100dvh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;

    .modal-dialog {
        touch-action: pan-y;
    }
}

body.no-scroll {
    position: fixed;
    width: 100%;
    overscroll-behavior: none;
}

.block-reduced-padding-top {
    padding-top: 2rem;
}

/* Ticket purchase grid layout */
.ticket-purchase {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
    align-items: start;
}

@media (min-width: 1140px) {
    .ticket-purchase {
        grid-template-columns: repeat(2, 1fr);
    }
}

.ticket-two-column {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    width: 100%;
}

.tickets-img {
    height: 0;
    padding-bottom: 56.25%;
    width: 100%;
}

.tickets-img img {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.ticket-two-column-right {
    margin-left: auto;
    margin-right: 0px;
    align-items: center;
    display: flex;
}

.all-caps {
    text-transform: uppercase;
}

.modal .btn-secondary.no-fill {
    color: unset;
    background: unset;
}

.limit-540 .btns.scroll {
    max-width: min(calc(100vw - 48px), 540px);
}

.prettyscroll .btn-added:hover {
    background: var(--color-blue);
    border-color: var(--color-blue);
}

.modal .prettyscroll .btn-secondary {
    background: var(--color-off-white);
    color: var(--color-dark-charcoal);
}

.prettyscroll .btn.btn-disabled {
    border-color: #E2E2E2;
    color: #B2B2B2;
    opacity: 1;
}

.take-full-width {
    width: 100%;
}

:root {
    --color-off-blue: #5F7CBF;
}

.prettyscroll .btn-added:hover {
    background: var(--color-off-blue)
}

.prettyscroll .btn-secondary:hover {
    background: #fff
}

/*************************************************************
 * BUNDLES: CART AND ORDER BREAKDOWN BUNDLE COLLAPSABLE LIST *
 *************************************************************/

/* Bundle collapse styles */
.bundle-header {
    cursor: pointer;
    user-select: none;
}

.bundle-caret {
    width: 40px;
    height: 40px;
    transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform: rotate(180deg); /* Points up when expanded */
}

.bundle-header .cartrow-line {
    display: flex;
    align-items: center;
}

.bundle-caret-collapsed {
    transform: rotate(0deg); /* Points down when collapsed */
}

/* Bundle items wrapper */
.bundle-items-wrapper {
    overflow: hidden;
}

/* Bundle drawer slide animation */
.bundle-drawer-enter-active {
    transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: top;
}

.bundle-drawer-leave-active {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    transform-origin: top;
}

.bundle-drawer-enter-from {
    opacity: 0;
    transform: scaleY(0) translateY(-20px);
}

.bundle-drawer-enter-to {
    opacity: 1;
    transform: scaleY(1) translateY(0);
}

.bundle-drawer-leave-from {
    opacity: 1;
    transform: scaleY(1) translateY(0);
}

.bundle-drawer-leave-to {
    opacity: 0;
    transform: scaleY(0) translateY(-20px);
}






.ticket-upgrades-list {
    width: 100%;
}

.ticket-upgrades-list > *:last-child {
    margin-bottom: 2rem;
}