@import url("https://use.typekit.net/rrv1mkj.css");

/**********************
 * GLOBAL ADJUSTMENTS *
 **********************/
h1 {
    font-size: 50px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    /* 50px */
    letter-spacing: -0.5px;
    text-transform: uppercase;

    @media (max-width: 1024px) {
      font-size: 50px; /* Tablet size placeholder */
    }
  }

  h2 {
    /* Header */
    font-size: 40px;
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
    /* 50px */
    letter-spacing: -0.5px;
    text-transform: uppercase;
    margin-bottom: 22px;

    @media (max-width: 1024px) {
      font-size: 50px; /* Tablet size placeholder */
    }
  }

  h3 {
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 100%;
    /* 32px */
    letter-spacing: -0.32px;
    text-transform: uppercase;
    margin-bottom: 22px;
  }

  h4 {
    /* Subheader */
    font-family: Prompt;
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
    /* 27px */
    text-transform: uppercase;
    margin-bottom: 5px;
  }

 a {
    cursor: pointer;
    transition: all 0.2s ease-in-out;
    font-weight: 600;
}
p{
    font-size: 12px;
    line-height: 150%;
    font-weight: 400;
}

.payload-richtext p{
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
}


header .container{
    max-width: unset;
}
footer a:hover{
    color: var(--color-off-white) !important;
}

footer ul{
    display: flex;
    flex-flow: row wrap;
    gap: 20px;
}

main a:not(.btn, .block){
    color: var(--color-off-white) !important;
    align-self: flex-start;
}

main a:not(.btn, .block):after, footer a:not(.social):after {
    content: '';
    display: block;
    position: absolute;
    background: var(--color-red);
    width: 0;
    height: 1px;
    top: 100%;
    left: 0;
    transition: .1s all;
}
main a:not(.btn, .block):hover:after , footer a:not(.social):hover:after {
    width: 100%;
}
a.nav-item {
    text-decoration: none;
}
body {
    background: #f1f1f1;
    color:var(--color-off-white); 
}

h1, 
h2,
h3,
h4,
h5,
h6 {
    color:var(--color-off-white) !important; 
}

.block-admin, .cart3, h4, h5, h6 {
    color:var(--color-off-white); 
}

.block-admin,
.block-admin h1,
.block-admin h2,
.block-admin h3,
.block-admin h4,
.block-admin h5,
.block-admin h6 {
    color:var(--color-dark-charcoal) !important;
}

.block-admin a:not(.btn){
    color: var(--color-blue) !important;
}

.cartbox,
.cartbox h1,
.cartbox h2,
.cartbox h3,
.cartbox h4,
.cartbox h5,
.cartbox h6 {
    color:var(--color-dark-charcoal) !important;
}

.cartbox  a:not(.btn){
    color: var(--color-blue) !important;
}

.ticket,
.ticket h1,
.ticket h2,
.ticket h3,
.ticket h4,
.ticket h5,
.ticket h6 {
    color:var(--color-dark-charcoal) !important;
}

.rides-content,
.rides-content h1,
.rides-content h2,
.rides-content h3,
.rides-content h4,
.rides-content h5,
.rides-content h6 {
    color:var(--color-dark-charcoal) !important;
}

.ticket  a:not(.btn){
    color: var(--color-blue) !important;
}

.ticket-upgrade,
.ticket-upgrade h1,
.ticket-upgrade h2,
.ticket-upgrade h3,
.ticket-upgrade h4,
.ticket-upgrade h5,
.ticket-upgrade h6 {
    color:var(--color-dark-charcoal) !important;
}

.ticket-upgrade  a:not(.btn){
    color: var(--color-blue) !important;
}

.modal-dialog,
.modal-dialog h1,
.modal-dialog h2,
.modal-dialog h3,
.modal-dialog h4,
.modal-dialog h5,
.modal-dialog h6 {
    color:var(--color-dark-charcoal) !important;
}

.modal-dialog  a:not(.btn){
    color: var(--color-blue) !important;
}

.cartbar,
.cartbar h1,
.cartbar h2,
.cartbar h3,
.cartbar h4,
.cartbar h5,
.cartbar h6 {
    color:var(--color-dark-charcoal) !important;
}

.cartbar a:not(.btn){
    color: var(--color-blue) !important;
}

.block.radius, .block-admin{
    border-radius: calc(var(--radius-card) * .5);
}

.white,
.white h1,
.white h2,
.white h3,
.white h4,
.white h5,
.white h6 {
    color:var(--color-dark-charcoal) !important;
}

.white a:not(.btn){
    color: var(--color-blue) !important;
}

.order,
.order h1,
.order h2,
.order h3,
.order h4,
.order h5,
.order h6 {
    color:var(--color-dark-charcoal) !important;
}

.order a:not(.btn){
    color: var(--color-blue) !important;
}


/* 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;
    }
}
@media (min-width: 1140px) {
    .modal-full.modal-tall {
        padding-top: 94px;
    }
}
/********************************
 * 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 */
}
/*******************************
 * TICKET POLICY MODIFICATIONS *
 *******************************/
.ticket-policy {
    color: var(--color-off-white);
    p:not(:last-child) {
        margin-bottom: 1rem;
    }
    p {
        font-size: 12px;
    }
    p a {
        color: var(--color-off-white);
    }
    h1, h2, h3, h4, h5, h6 {
        margin-bottom: 2rem;
        color: var(--color-off-white);
    }
}
section:has(.ticket-policy) {
    background: var(--color-dark);
}
main.checkered {
    background-color: var(--color-dark);
    background-image: none;
}
/* MVP */
:root {
    --color-red: #ec1e24;
    --color-red-dark: #5a0e0e;
    --color-dark: #2c2c2c;
    --color-dark-charcoal: #202020;
    --color-blue: #496096;
    --color-gray-bg: #f1f1f1;
    --color-gray-light: #cbcbcb;
    --color-gray-mid: #a8a8a8;
    --color-gray-note: #e4e4e4;
    --color-off-white: #f3f3f3;
    --color-card-white: #fcfcfc;
    --font-heading: "gotham", sans-serif;
    --font-body: "Prompt", sans-serif;
    --shadow-card: 0 11px 22px 0 rgba(169, 169, 169, 0.25);
    --radius-pill: 100px;
    --radius-card: 20px;
    --radius-card-img: 10px 10px 0 0;
    --radius-input: 4px 4px 0 0;
}
/* typography */
h1, h2, h3, h4 {
    font-family: var(--font-heading);
}
h1, h2 {
    font-weight: 700;
    font-size: 50px;
    line-height: 50px;
    letter-spacing: -0.5px;
    text-transform: uppercase;
}
h3 {
    font-weight: 700;
    font-size: 25px;
    line-height: 25px;
    letter-spacing: -0.25px;
    text-transform: uppercase;
}
h4 {
    font-weight: 700;
    font-size: 16px;
}
/* buttons */
.btn {
    border-radius: var(--radius-pill);
    height: 40px;
    padding: 10px 24px;
    font-family: var(--font-heading);
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.1px;
    line-height: 20px;
    text-transform: uppercase;
    color: #fff;
    border: none;
    transition: all 200ms cubic-bezier(0.2, 0, 0, 1);
    cursor: pointer !important;
}
.btn.btn-disabled {
    opacity:0.4;
}
    
/**.btn-primary {
    background: var(--color-dark-charcoal);
    border-color: var(--color-dark-charcoal);
}
.btn-primary:hover{
    background: var(--color-dark-charcoal) !important;
    border-color: var(--color-dark-charcoal) !important;
    color:var(--color-off-white) !important;
}**/
.btn-special, .btn-primary, .btn-selection, header .nav-items .nav-item-cta, .scrolled  header .nav-items .nav-item-cta  {
    background: var(--color-red) !important;
    border-color: var(--color-red) !important;
    font-weight:600;
}
header .nav-items .nav-item-cta .nav-item--copy:after{
    display:none;
} 
.btn-special:hover, .btn-primary:hover, .btn-selection:hover, header .nav-items .nav-item-cta:hover,  .scrolled  header .nav-items .nav-item-cta:hover {
    box-shadow: 0px 0px 2px 0 #000;
    background: var(--color-red);
    border-color: var(--color-red) !important;
    color: #fff !important;
}
.btn-added {
    background: var(--color-blue);
    border-color: var(--color-blue);
}
.btn-secondary {
    background:var(--color-off-white);
    color: var(--color-dark-charcoal);
    border: 1px solid var(--color-dark-charcoal)
}
.btn-secondary:hover {
    background: #fff;
}
.modal .btn-secondary{
    color: #fff;
    background: var(--color-dark-charcoal);
}

.rides-item .btn-selection,
.rides-item .btn-selection:hover,
.rides-item.clickable:hover .btn-selection {
    background: var(--color-red);
    border-color: var(--color-red);
    color: #fff;
}
/* shop section */
section:has(.group-below) {
    background: var(--color-dark);
}
.group-below .block.centered {
    padding-top: 90px;
}
.group-below .centered h2,
.group-below .centered h2.blue {
    color: var(--color-off-white);
}
.group-below .centered h2.mb-1 {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 2.84px;
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: 0;
}
.group-below .centered h2:not(.mb-1) {
    font-family: var(--font-heading);
    font-size: 50px;
    font-weight: 700;
    letter-spacing: -0.5px;
    line-height: 50px;
    text-transform: uppercase;
}

/* cards v2 */
.block.rides {
    gap: 40px;
}
.rides-item,
.rides-item.clickable, .ticket {
    position: relative;
    background: #FFFFFF;
    border: none;
    border-radius: 8px;
    overflow: hidden;
    aspect-ratio: auto;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    clip-path: polygon(
        0 0, 100% 0,
        100% calc(100% - 60px),
        calc(100% - 60px) 100%,
        0 100%
    );
}
.rides-img {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: 180px;
    overflow: hidden;
}
@media (min-width: 1140px) {
    .rides-img {
        height: 220px;
    }
}
.rides-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 0;
}
.rides-img:after {
    content: none;
}
.rides-content {
    position: relative;
    z-index: 1;
    flex: 1;
    padding: 24px 24px 12px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.rides-content h3,
.rides-content h3.centered {
    font-family: 'gotham', sans-serif;
    font-weight: 900;
    font-size: 24px;
    line-height: 25px;
    letter-spacing: -0.24px;
    color: #202020 !important;
    text-align: left;
    align-self: flex-start;
    margin-bottom: 0;
}
.rides-content .payload-richtext,
.rides-content .payload-richtext p {
    font-family: var(--font-body);
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    color: #202020;
    text-align: left !important;
}
.rides-item .btns,
.rides-item .btns.centered {
    position: relative;
    z-index: 1;
    padding: 8px 24px 32px;
    margin: 0;
    text-align: left;
    justify-content: flex-start;
    align-self: flex-start;
}
.rides-item .btns .btn-selection {
    background: var(--color-red);
    border-color: var(--color-red);
    color: #fff;
}
.rides-item.clickable:hover {
    box-shadow: none;
}

.card {
    border-radius: calc(var(--radius-card) * .5);
    background: var(--color-card-white);
}
.ticket {
    border-radius: calc(var(--radius-card) * .5);
    background: var(--color-card-white);
    box-shadow: var(--shadow-card);
}
.ticket-wrap .ticket {
    border: none;
}
.box {
    border-radius: calc(var(--radius-card) * .5);
    background: var(--color-card-white);
    border: none;
    box-shadow: var(--shadow-card);
}
.cartbox {
    border-radius: calc(var(--radius-card) * .5);
    background: var(--color-card-white);
    border: none;
    box-shadow: var(--shadow-card);
}
.news-item {
    background: var(--color-card-white);
    border-radius: calc(var(--radius-card) * .5);
    box-shadow: var(--shadow-card);
}
.clickable:hover,
.rides-item.clickable:hover {
    box-shadow: 0 14px 28px rgba(169, 169, 169, 0.35);
}
img.radius,
.rounded {
    border-radius: calc(var(--radius-card) * .5);
}
/* navigation */
.nav-item {
    font-family: var(--font-heading);
    font-weight: 400;
    font-size: 12px;
    letter-spacing: 0.6px;
}
.nav-item-cta {
    border-radius: var(--radius-pill);
    height: 40px;
    padding: 10px 24px;
}
.nav-item-divider {
    background: #fef6ec;
}
/* footer */
footer {
    background: var(--color-dark);
}
/* color overrides */
.blue,
.highlight {
    color: var(--color-blue);
}
.blue-secondary {
    color: var(--color-blue);
}
.text-cota-blue {
    color: var(--color-blue);
}
/* form inputs */
.form-input {
    background: var(--color-gray-bg);
    border-radius: var(--radius-input);
}
.form-input:placeholder-shown {
    background: var(--color-gray-bg);
}
/* shadows */
.socials-circles .social {
    box-shadow: var(--shadow-card);
}
.modal-dialog {
    border-radius: calc(var(--radius-card) * .5);
    box-shadow: var(--shadow-card);
}
.select-options {
    box-shadow: var(--shadow-card);
}
/* section labels (eyebrow style) */
.label-title {
    font-family: var(--font-body);
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 2.84px;
    text-transform: uppercase;
}
.label-content {
    font-family: var(--font-body);
    font-size: 16px;
    font-weight: 500;
    line-height: 21.6px;
}
.label-note {
    font-family: var(--font-body);
    font-size: 14px;
    font-weight: 500;
    line-height: 18.9px;
}
.cart .row.mb-2{
    margin-bottom: unset !important;
    margin-top:15px;
}
.block-signin .btn{
    align-items: center;
    justify-content: center;
}