/* custom css file */

/* FONTS */

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro';
    src: url('NeueHaasDisplay-Roman.woff2') format('woff2'),
        url('NeueHaasDisplay-Roman.woff') format('woff');
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'Neue Haas Grotesk Display Pro Black';
    src: url('NeueHaasDisplay-Black.woff2') format('woff2'),
        url('NeueHaasDisplay-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Neue Haas Grotesk Display Pro Black Italic';
    src: url('NeueHaasDisplay-BlackItalic.woff2') format('woff2'),
        url('NeueHaasDisplay-BlackItalic.woff') format('woff');
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/*
** ADMIN **
*/
#wpadminbar a { color: #f0f0f1 !important; }
#wpadminbar a:hover { color: #72AEE6 !important; }
#wpadminbar #wp-admin-bar-toolset_admin_bar_menu { padding-top: 6px !important; }
#wpadminbar #wp-admin-bar-cobalt-apps-wp-admin-bar .ab-empty-item::before { margin-top: -7px !important; }
#wpadminbar #wp-admin-bar-cobalt-apps-wp-admin-bar { padding-top: 6px !important; }

.media-modal-content th { background: transparent !important; }
.media-modal-content td { border: none !important; }
.load-more-wrapper button { color: #fff !important; }

/*
** HTML **
*/

/*
** BODY **
*/
body { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-weight: 400; }
.content .post,.content .entry { background: #000; }

/*
** HEADER TICKER - DITTY */
.ditty-ticker { padding: 8px 0; background: #d82028; }
.ditty-ticker .ditty-item__content, .ditty-ticker .ditty-item__content a { font-size: 14px; color: #fff; }
.ditty-ticker .ditty-item__content, .ditty-ticker .ditty-item__content a:hover { color: #efefef !important; }
.ditty-ticker .ditty-item__content span { padding: 0 0 0 40px; }
.ditty-ticker .ditty-item__content span img { max-height: 14px !important; 
    -webkit-filter: invert(100%);
    filter: invert(100%); }

/* 
** HEADER **
*/

#header-wrapper { position: fixed; z-index: 9; max-width: 100% !important; background: #000; width: 100% !important; }

.full-width-content .site-header .wrap {
    width: 1160px; padding: 0 20px;
}
.full-width-content .site-header { position: relative; }

/* header nav */
.site-header .wrap { display: flex; justify-content: space-between; align-items: center; }
.site-header nav { z-index: 999999 !important; }
.site-header .genesis-nav-menu span { font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; font-size: 11px; text-transform: uppercase; font-weight: 600; }
.site-header .genesis-nav-menu li a, .site-header .genesis-nav-menu li a span { line-height: 100%!important; }
#menu-main-menu { z-index: 9999999 !important; }
#menu-main-menu > li a span { transition-duration: 0.3s; }
#menu-main-menu > li:nth-last-child(1) a { padding-right: 0; }
#menu-main-menu > li:nth-last-child(2) a span { color: #d82028 !important; font-weight: bold;}

#menu-main-menu > li:nth-last-child(2) a:hover span { color: #fff !important }

#menu-main-menu > li:nth-last-child(1) a span { background: #d82028; color: #fff !important; padding: 8px 16px; }

#menu-main-menu > li:nth-last-child(1) a:hover span { background: #fff !important; color: #000 !important; }

.site-header .genesis-nav-menu.sf-arrows a.sf-with-ul:after { content: "\25BC"; font-size: 10px !important; top: 7px !important; right: 4px !important; }
.site-header .genesis-nav-menu li a:hover::after { color: #d82028 !important; }

/* mobile only nav elements */
#menu-main-menu .mobile-only { display: none; }

.site-header .genesis-nav-menu li ul { width: 200px !important; background: #000; padding: 10px 0 0; }
.site-header .genesis-nav-menu li li { display: block; }
.site-header .genesis-nav-menu li li a,.site-header .genesis-nav-menu li li a:link,.site-header .genesis-nav-menu li li a:visited { background-color: #000; border: none !important; padding: 8px 15px !important; width: 100% !important; }
.site-header .genesis-nav-menu li li a:hover { color: #D82028; background-color: transparent; }
.site-header .genesis-nav-menu li li a span { font-size: 12px; color: #fff !important; }
.site-header .genesis-nav-menu li li a:hover span { color: #D82028 !important; }
.site-header .genesis-nav-menu li li.menu-item-separator { display: block; padding: 2px 0; height: 4px; background: #fff !important; width: auto; margin: 4px 0; }
.site-header .genesis-nav-menu li li.menu-item-separator span { display: block; border-top: 1px solid #fff; }

/* widget area on right */
.site-header  .widget-area { padding: 0; }
.header-widget-area { font-size: 13px !important; text-align: right; }
.header-widget-area span { font-weight: 400; color: #fff; display: inline-block; margin: 0; }
.header-widget-area a:hover span { color: #D82028; }
.header-widget-area section { margin: 0; float: right; clear: both; }
.header-widget-area .search-form input[type="search"], #subbox, .widget_product_search input#s { max-width: 150px; width: auto; }
.header-widget-area section .fa { color: #d21f36; margin-right: 8px; }

.header-widget-area .simple-social-icons ul li:last-child { margin-right: 0 !important; }

/* logo */
.site-header .wrap .title-area {
background-size: contain !important;
}

/* main content */
.site-inner { margin-top: 80px !important; }
.full-width-content .site-inner { max-width: 100% !important; padding: 0 !important; width: 100% !important; background: #000 !important; }
.full-width-content .content-sidebar-wrap, .full-width-content .content { width: 100% !important; padding: 0 !important; }
.content .page { background: #000 !important; }

/* entry content */
.entry-content { margin-top: 0px; }
.home .entry-content { margin-top: 0; }

/* entry content no margin */
.entry-content-nomargin .entry-content { margin-top: 0; }

/* site inner */
.content-sidebar .site-inner { margin-bottom: 40px; max-width: 1140px; }

/* entry headers */
.entry-header { display: none; }

/* tan background pages */
.tan-bg, body.tan-bg, .tan-bg .site-inner { background-color: #000 !important; }

/* paragraphs */
p { margin: 0 0 12px 0; }

/* headings */
h1,h2,h3,h4,h5,h6 { font-family:'Neue Haas Grotesk Display Pro', sans-serif !important; text-transform: uppercase !important; line-height: 100% !important; }

/* text */
html,p,li,div { font-family:'Neue Haas Grotesk Display Pro', sans-serif !important; line-height: 139% !important;  }

.text-align-right .pp-primary-title { text-align: right !important; }

/* links */
.site-inner a, .site-inner a:visited {
    color: #d82028 !important; text-decoration: none !important;
}
.site-inner a:hover, .site-inner a:active {
    color: #D82028 !important;
}

/* inner menus */
.menu-inner a { font-family:'Neue Haas Grotesk Display Pro', sans-serif !important; color: #fff; font-size: 11px !important; text-decoration: none !important; }

/* internal content headings */
.internal-heading .pp-sub-heading p { font-size: 20px !important; }
.internal-heading .pp-heading-content { margin: 0 !important; }
.internal-heading .pp-heading-content h3 { margin: 0 !important; }

/* breadcrumbs */
.content-wrapper { display: none; }
/* internal content */
.internal-content .fl-module-content, .internal-content .fl-row-content-wrap { padding: 0 !important; margin: 10px auto 0 auto !important; }

/* nopadding sections */
.nopadding .fl-module-content, .nopadding .fl-row-content-wrap { padding: 0 !important; margin: 0 !important; }

/* page headers */
.page-header .fl-row-content-wrap { padding-bottom: 0; }
.page-header .pp-heading-content { margin: 12px 0 0 !important; }
.page-header h2.heading-title { padding: 0 !important; margin: 0 !important; font-size: 3.8rem; font-weight: 500; color: #0d72c7 !important; }
.page-header .pp-sub-heading p { margin: 0; padding: 0; font-size: 24px; color: #0d72c7 }
.page-header .pp-heading-separator { margin: 0px !important; }
.page-header .pp-heading-content .pp-heading-separator .pp-heading-separator-icon { border-radius: 0px !important; }
.page-header .pp-heading-content .pp-heading-separator { color: #0d72c7 !important; }

/* page headers - search and archive pages */
body.search .content h1.archive-title { margin: 40px auto 0 auto !important; padding: 0 !important; font-size: 44px; font-weight: 500; color: #D21F36 !important; text-align: center; }
body.search .content article { margin: 20px 0; padding: 20px; background: #f1f1f1; }
body.search .content article h2.entry-title { font-size: 24px; }

/* GOOGLE RECAPTCHA */
.grecaptcha-badge {
  visibility: hidden;
}

/* TOUR PAGES */
.heading-curent-year h2 { color: #fff !important; font-family: 'Neue Haas Grotesk Display Pro Black', sans-serif !important; }
.tour-date-container { margin: 0; padding: 20px 0 !important; border-bottom: 1px solid #000; }
.tour-date-container .col-12 { padding: 0 !important; line-height: 100% !important; }

.tour-date-container .tour-date-city { font-size: 36px !important; line-height: 100% !important; 
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap;
    font-family: 'Neue Haas Grotesk Display Pro Black', sans-serif !important;
}
.tour-date-container .tour-date-venue, .tour-date-container .tour-date-date { font-size: 20px !important; }

a.anchor-tourdate .tour-date-city, a.anchor-tourdate .tour-date-venue, a.anchor-tourdate .tour-date-date { transition: color 0.3s ease; }
a.anchor-tourdate .tour-date-city, a.anchor-tourdate .tour-date-venue, a.anchor-tourdate .tour-date-date { color: #fff !important; }
a.anchor-tourdate:hover .tour-date-city, a.anchor-tourdate:hover .tour-date-venue, a.anchor-tourdate:hover .tour-date-date { color: #D82028 !important; }

.tour-date-container .new-city { display: flex; color: #ff0000; font-size: 12px; align-items: center; margin: 0 0 0 8px; gap: 4px; text-transform: uppercase; }
.tour-date-container .new-city .circle { display: inline-block; width: 10px; height: 10px; border-radius: 50%; vertical-align: middle; background-color: #ff0000; margin: 0; }

.tour-date-container .new-venue { display: flex; color: #ff0000; font-size: 12px; align-items: center; margin: 0 0 0 8px; gap: 4px; text-transform: uppercase; }
.tour-date-container .new-venue .circle { display: inline-block; width: 10px; height: 10px; border-radius: 50%; vertical-align: middle; border: 1px solid #ff0000; margin: 0; }

.badges {
    display: flex;
    gap: 0px;
    flex-direction: column;
}

.badge {
    color: #c0392b; /* red tone */
    display: flex;
    align-items: center;
    gap: 4px;
    text-transform: uppercase;
    font-weight: 400;
}

.circle {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    display: inline-block;
}

.filled {
    background-color: #c0392b;
}

.hollow {
    border: 1px solid #c0392b;
    background-color: transparent;
}

/* TOUR DATE PAGES - NEXT SEASON USING TOOLSET */
.events-list {
  /* split into 2 columns */
  column-count: 2;
  column-gap: 2rem;        /* space between columns */
}

.event-block {
  /* avoid events breaking across columns */
  break-inside: avoid;
  /* spacing between items */
  margin-bottom: 25px;
}

.events-list { margin: 0; }

.event-block .event-title { font-size: 36px !important; line-height: 100% !important; 
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-wrap: wrap; 
    text-transform: uppercase; }

.event-block .event-dates { text-transform: uppercase; font-size: 20px; font-style: italic; display: block; margin: 0; }


.event-title .new-city { display: flex; color: #ff0000; font-size: 12px; align-items: center; margin: 0 0 0 8px; gap: 4px; text-transform: uppercase; }
.event-title .new-city .circle { display: inline-block; width: 10px; height: 10px; border-radius: 50%; vertical-align: middle; background-color: #ff0000; margin: 0; }

.event-title .new-venue { display: flex; color: #ff0000; font-size: 12px; align-items: center; margin: 0 0 0 8px; gap: 4px; text-transform: uppercase; }
.event-title .new-venue .circle { display: inline-block; width: 10px; height: 10px; border-radius: 50%; vertical-align: middle; border: 1px solid #ff0000; margin: 0; }

.event-block .dance-awards { font-weight: bold; color: #d82028; font-size: 20px; }

/* buttons */
.button-block { padding: 8px; }
.button-block a, .button-block a:visited, .button-block span { display: block; color: #000 !important; background-color: #fff; text-align: center; padding: 8px; margin: 0 !important; }
.button-block span { opacity: 0.3; }
.button-block a:active, .button-block a:hover { background-color: #d82028 !important; color: #fff !important; }

/*
**  BEAVER BUILDER **
*/
.fl-builder-bar-title { padding-top: 12px; }
.fl-builder-bar-title img { display: none !important; }

/* single buttons */
.pp-button-wrap a, .pp-button-wrap a:visited { background: #d82028 !important; padding: 15px 47px !important; border: none; line-height: 100% !important; color: #fff !important; font-size: 18px !important; text-transform: uppercase; font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; transition-duration: 0.2s !important; text-decoration: none !important; font-style: italic; font-weight: bold; }
.pp-button-wrap a:hover { background: #d82028 !important; color: #fff !important; }
.pp-button-wrap a br { display: none; }

.common_btn_wrapper { text-align: center; }

/* square button */
.square-button .pp-button-wrap a, .square-button .pp-button-wrap a:visited { font-style: normal; border-radius: 0 !important; }
.pp-button-wrap a:hover { background: #d82028 !important; color: #fff !important; }
.pp-button-wrap a br { display: none; }


/* single buttons with gold gradient */
.gold-button .pp-button-wrap a, .gold-button .pp-button-wrap a:visited { background: transparent !important; padding: 10px 20px !important; border: none; line-height: 100% !important; border-radius: 30px; color: #d82028 !important; border: 2px solid !important; font-size: 16px !important; text-transform: uppercase; font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; letter-spacing: 3px !important; transition-duration: 0.2s !important; border-image-slice: 1;   border-width: 5px; border-image-source: linear-gradient(to left, #743ad5, #d53a9d); text-decoration: none !important; }
.gold-button .pp-button-wrap a:hover { color: #000 !important; border: 2px solid #000 !important; }
.gold-button .pp-button-wrap a br { display: none; }

/* dual buttons */
.pp-dual-button-content .pp-dual-button-1 .pp-font-icon { color: #fff !important; }
.pp-dual-button-content .pp-dual-button-inner .pp-dual-button-1 a { color: #fff !important; background-color: #d21f36 !important; border-radius: 8px;  }
.pp-dual-button-content .pp-dual-button-2 .pp-font-icon { color: #fff !important; }
.pp-dual-button-content .pp-dual-button-inner .pp-dual-button-2 a { color: #fff !important; background-color: #555 !important; border-radius: 8px;  }
.pp-dual-button-content .pp-dual-button-1 a:hover, .pp-dual-button-content .pp-dual-button-2 a:hover { background: #000 !important; }

/* single text buttons */
.button {
    font-size: 18px;
    padding: 10px 30px;
    margin: 15px auto 0 auto;
    text-align: center;
    display: inline-block;
    clear: both;
    border-radius: 2px;
}

/* home hero */
.home-hero  .pp-button-wrap a { background: transparent !important; padding: 10px 20px !important; border: none; line-height: 100% !important; border-radius: 30px; min-width: 250px; color: #d82028 !important; border: 2px solid #d82028 !important; font-size: 20px !important; text-transform: uppercase; font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; letter-spacing: 3px !important; text-decoration: none !important; }
.home-hero  .pp-button-wrap a:hover { color: #fff !important; border: 2px solid #fff !important; }

/* home carousel */
#home-carousel .swiper-wrapper { background: #fff; }

#home-carousel .swiper-slide {
  opacity: 0;
  transform: translateY(30px);
  display: inline-block;
  transition: all 0.5s ease;
}

/* When the slide becomes active */
#home-carousel .swiper-slide.active {
  opacity: 1;
  transform: translateY(0);
}

/* Sequential delay for each slide */
#home-carousel .swiper-slide:nth-child(1).active {
  transition-delay: 0.2s;
}

#home-carousel .swiper-slide:nth-child(2).active {
  transition-delay: 0.4s;
}

#home-carousel .swiper-slide:nth-child(3).active {
  transition-delay: 0.6s;
}

#home-carousel .swiper-slide:nth-child(4).active {
  transition-delay: 0.8s;
}

#home-carousel img { border-radius: 20px !important; max-height: 155px !important; }

/* home opening header */
.home-opening-header h2.heading-title { text-transform: uppercase; font-size: 70px !important; color: #000 !important; line-height: 100% !important; }
.home-opening-header h2, .home-opening-header p { color: #fff; }
.home-opening-header .pp-secondary-title { text-align: right; }

#home-opening-header-right h2 { margin-top: 0; }
#home-opening-header-left, #home-opening-header-right { position: relative; }
#home-opening-header-left .pp-heading  {
  position: absolute;
  width: 200px;
  height: 200px;
  top: 50%; /* Center vertically */
  transition: transform 0.1s ease-out; /* Smooth movement */
}

.home-opening-header-left {
  left: 10%; /* Initial position for div1 */
}

#div2 {
  right: 10%; /* Initial position for div2 */
  background-color: lightcoral; /* Different color */
}

/* home infoboxes */
.home .infoboxes .fl-col-content:hover { background: linear-gradient(90deg, rgba(216, 32, 40, 1) 0%, rgba(0, 0, 0, 1) 100%); transition: background 0.5s }
.home .infoboxes .fl-col-content:hover h3, .home .infoboxes .fl-col-content:hover p { color: #fff; }
.home .infoboxes .fl-col-content:hover .pp-button-wrap a { background: #000 !important; color: #fff !important; }
.home .infoboxes .fl-col-content:hover .pp-button-wrap a:hover { background: #fff !important; color: #000 !important; }

.infoboxes .fl-col-content { position: relative; justify-content: end !important; }
.infoboxes .fl-module-heading { position: absolute; bottom: 100px !important; right: auto !important; top: auto !important; left: 10px; }
.infoboxes .fl-module-heading h3 { font-weight: bold ; }
.infoboxes p { font-weight: bold !important; font-size: 22px !important; }
.infoboxes .gold-button .pp-button-wrap a, .infoboxes .gold-button .pp-button-wrap a:visited { font-size: 11px !important; padding: 8px 16px !important; }
.infoboxes .gold-button .pp-button-wrap a:hover { color: #fff !important; border: 2px solid #fff !important; }
.infoboxes .fl-module-pp-smart-button { align-self: flex-start; }

.infoboxes .pp-button-wrap a, .infoboxes .pp-button-wrap a:visited { background: #fff !important; color: #000 !important; margin-bottom: 15px !important; }
.infoboxes .pp-button-wrap a:active, .infoboxes .pp-button-wrap a:hover { background: #e60000 !important; color: #fff !important; }

.uabb-infobox-button a, .uabb-infobox-button a:visited { background: #fff !important; padding: 15px 47px !important; border: none; line-height: 100% !important; color: #000 !important; font-size: 18px !important; text-transform: uppercase; font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; transition-duration: 0.2s !important; text-decoration: none !important; font-weight: bold; border-radius: 0 !important; }
.uabb-infobox-button a:active, .uabb-infobox-button a:hover { background: #ddd !important; color: #000 !important; }

/* tour merch */
.home #tour-merch h2 a { color: #fff !important; text-decoration: none !important; font-size: 70px; line-height: 120%; font-weight: bold; }
.home #tour-merch .pp-button-wrap a, .home #tour-merch .pp-button-wrap a:visited { background: #fff !important; color: #000 !important; font-style: normal !important; }
.home #tour-merch .pp-button-wrap a:active, .home #tour-merch .pp-button-wrap a:hover { background: #ddd !important; color: #000 !important; font-style: normal !important; }

/* inner hero */
.inner-hero .fl-row-content { padding: 60px 0; }
.inner-hero, .inner-hero h1, .inner-hero h2, .inner-hero h3, .inner-hero h4, .inner-hero h5, .inner-hero h6, .inner-hero p { color: #fff !important; }
.inner-hero p, .inner-hero .text-bold, .inner-hero .text-bold p { font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; text-transform: uppercase !important; }

.inner-hero h1 span { font-family: 'Neue Haas Grotesk Display Pro Black', sans-serif !important;font-size: 60px !important; line-height: 140% !important; font-weight: bold !important; letter-spacing: normal; }

/* table of contents - on info pages */
.ez-toc-open-icon { display: none !important; }
.toc-display .ez-toc-open-icon { display: grid !important; }
.ez-toc-sticky-toggle-counter nav ul li a::before, .ez-toc-counter nav ul li a::before { display: none; }
.ez-toc-title-container { display: flex; justify-items: center; }
.ez-toc-title-container p { display: inline-block; margin: 0; text-transform: uppercase; }
.ez-toc-open-icon span.text { font-size: 16px; text-transform: uppercase; }
.ez-toc-open-icon { color: #d82028; }
.ez-toc-open-icon:hover { text-decoration: none; color: #000; }
#ez-toc-sticky-container a, #ez-toc-sticky-container a:visited { color: #d82028; }
#ez-toc-sticky-container li, .ez-toc-list li { margin: 0 0 8px 0 !important; text-transform: uppercase; }

.toc-display h2 { color: #d82028 !important; font-weight: bold !important; }

/* padded inner hero */
.hero-padded .fl-row-content-wrap { padding: 72px 0 !important; }

/* banner with bg photo and text editor info area */
.banner-info .bg-white { background: #fff !important; }
.banner-info .bg-white, .banner-info .bg-white p { color: #000 !important; }
.banner-info .grey-bg { background-color: #E7E8E9 !important; padding: 20px; }
.banner-info .grey-bg h2 { font-weight: 900 !important; margin: 0; }
.banner-info .grey-bg h4 { margin: 0; }
.banner-info .grey-bg h2, .banner-info .grey-bg h4 { color: #333 !important; text-transform: uppercase; }
.banner-info a { display: inline-block !important; clear: both; background: #02A01F; color: #fff; padding: 8px 16px; margin: 20px 0 0; }
.banner-info a:hover { background: #0061AC; color: #fff; }

/* events detail */
#event-detail-hero h1 { text-transform: uppercase; color: #fff !important; }
#event-detail-hero span.season { font-family: 'Neue Haas Grotesk Display Pro', sans-serif; display: inline-block; color: #fff; border: 1px solid #fff; padding: 8px 20px; border-radius: 25px; font-size: 14px; }
#event-detail-hero span.event-date { font-family: 'Neue Haas Grotesk Display Pro', sans-serif; display: block; color: #fff; font-size: 20px; }
#event-detail-hero h4, #event-detail-hero h5 { margin-bottom: 0 !important; color: #fff !important; }

#venue h2 { font-size: 24px; margin: 0 0 30px; }
#venue .hotel-photo img { border-radius: 30px; }
#venue .hotel-note { font-size: 14px !important; display: inline-block; margin: 15px 0 0; }

/* faculty page */
.faculty-teachers .teacher-holder { margin: 10px 0 50px; border-top: 1px solid #fff; width: 100% !important; padding: 15px 0 0; }
.faculty-teachers .teacher-holder .instagram-handle { height: 25px; }
.faculty-teachers .teacher-holder .image-holder { overflow: hidden; margin: 15px 0 0; }
.faculty-teachers .teacher-holder .image img { object-fit: cover; transition: transform .25s ease-in-out, -webkit-transform .25s ease-in-out; }
.faculty-teachers .teacher-holder .image:hover img {  transform: scale(1.2); }
.faculty-teachers { letter-spacing: 0.9px; }
.faculty-teachers .title { font-family: 'Neue Haas Grotesk Display Pro', sans-serif; display: block; font-size: 16px; line-height: 18px; margin: 5px 0 0 0; text-transform: uppercase; color: #fff !important; font-weight: bold; height: 40px !important; }
.faculty-teachers .name, .faculty-teachers .name:visited { display: inline-block; font-size: 22px; font-family: 'Neue Haas Grotesk Display Pro', sans-serif; margin: 0 0 10px; text-transform: uppercase; font-weight: bold; color: #d82028; word-spacing: inherit !important; color: #d82028 !important; text-decoration: none !important; }
.faculty-teachers .instagram-handle, .faculty-teachers .instagram-handle:visited { display: block; font-size: 14px; color: #fff !important; text-decoration: none !important; }
.faculty-teachers .instagram-handle:active, .faculty-teachers .instagram-handle:hover  { color: #D82028 !important; }
.faculty-teachers .image { display: block; margin: 0; }
.faculty-teachers .bio { display: block; font-size: 14px; margin: 15px 0 0; min-height: 130px; }
.faculty-teachers .bio p { font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; }

/* faculty detail page */
.single-faculty .content .post, .single-faculty .content .entry, .single-radix-guest-artist .content .post, .single-radix-guest-artist .content .entry { margin-bottom: 0; }
.single-faculty .title-holder, .single-radix-guest-artist .title-holder { text-align: right; padding: 0; margin: 4px 0 0; }
.single-faculty .title, .single-radix-guest-artist .title { font-size: 18px !important; text-transform: none; line-height: 20px; text-transform: uppercase !important; margin: 15px 0 0; font-weight: bold; }
.single-faculty .faculty-name h1, .single-radix-guest-artist .faculty-name h1 { text-transform: uppercase !important; margin: 0 !important; }
.single-faculty .hero-faculty-detail img, .single-radix-guest-artist .hero-faculty-detail img { width: 100% !important; height: auto; }
.single-faculty .faculty-bio h1, .single-faculty .faculty-bio h2, .single-faculty .faculty-bio h3, .single-faculty .faculty-bio h4, .single-faculty .faculty-bio h5, .single-faculty .faculty-bio h6, .single-radix-guest-artist .faculty-bio h1, .single-radix-guest-artist .faculty-bio h2, .single-radix-guest-artist .faculty-bio h3, .single-radix-guest-artist .faculty-bio h4, .single-radix-guest-artist .faculty-bio h5, .single-radix-guest-artist .faculty-bio h6 { font-size: 20px; margin: 0 0 20px; }
.single-faculty .faculty-bio p, .single-radix-guest-artist .faculty-bio p { font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; line-height: 110%; }
.single-faculty .faculty-bio-image img, .single-radix-guest-artist .faculty-bio-image img { border-radius: 30px; }
.single-faculty .appearances h5, .single-radix-guest-artist .appearances h5 { line-height: 70%; }

.single-faculty .instagram-handle, .single-radix-guest-artist .instagram-handle { display: block; font-size: 22px; color: #d82028 !important; text-decoration: none !important; font-style: italic; font-weight: bold; }
.single-faculty  .instagram-handle:active, .single-faculty  .instagram-handle:hover, .single-radix-guest-artist  .instagram-handle:active, .single-radix-guest-artist  .instagram-handle:hover { color: #D82028 !important; }

/* derek hough faculty page */
.postid-6448 .faculty-hero { background-position-y: 30% !important; }

/* about page faculty */
.faculty-about .faculty-featured h3 { margin-top: 20px }

.faculty-about .faculty-featured .link a, .faculty-about .faculty-featured .link a:visited { color: #000 !important; padding: 6px 20px; border: solid 1px #000; border-radius: 20px; font-family: 'Neue Haas Grotesk Display Pro', sans-serif; font-size: 12px; text-transform: uppercase; }
.faculty-about .faculty-featured .link a:hover { color: #777 !important; border: 1px solid #777; }

/* gravity forms */
.gform_wrapper .gfield_required { color: #0d72c7 !important; }
.gform_wrapper .gform_footer input[type=submit] { background: #d82028 !important; color: #fff; border: 0 !important; margin: 0;  text-transform: uppercase; }
.gform_wrapper .gform_footer input[type=submit]:hover { background: #000 !important; }
.gform_wrapper .field_sublabel_above .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_above div[class*=gfield_date_].ginput_container label, .gform_wrapper .field_sublabel_above div[class*=gfield_time_].ginput_container label, .gform_wrapper .field_sublabel_below .ginput_complex.ginput_container label, .gform_wrapper .field_sublabel_below div[class*=gfield_date_].ginput_container label, .gform_wrapper .field_sublabel_below div[class*=gfield_time_].ginput_container label, .gform_wrapper .gfield_description { font-size: 14px !important; }
.gform_wrapper .input-medium input { width: 50% !important; }
.gform_wrapper input, .gform_wrapper textarea { border: 1px solid #000 !important; }

/* shop signup form */
.shop-signup .gform_wrapper { margin: 0 !important; }
.shop-signup .gform_wrapper form { display: flex; flex-direction: row; }
.shop-signup .gform_body { display: block; align-self: flex-end; padding-top: 0; margin-top: 0; flex: 4; }
.shop-signup .ginput_container { margin-top: 0; }
.shop-signup .gform_fields, #footer-signup .gform_footer { display: block; }
.shop-signup .gform_footer { margin-top: 0 !important; align-self: flex-end; padding: 0 !important; flex: 1; text-align: left; }
.shop-signup .gfield { margin-top: 0 !important; }
.shop-signup .gfield input.large, .shop-signup .gform_wrapper.gravity-theme .gfield select.large { max-width: 90% !important; }

.shop-signup .gform_heading { display: none; }
.shop-signup #input_12_1, .shop-signup #input_6_1 { margin-top: 0; background: #fff; border: none; text-transform: uppercase; text-align: left; font-size: 2.0rem !important; border-radius: 10px; padding: 8px 20px; }
.shop-signup .gform_wrapper .gform_footer input[type=submit] { font-family: 'Neue Haas Grotesk Display Pro'; font-size: 14px; margin: 0 !important; max-height: 39px; background-color: transparent !important; border-radius: 20px; border: 2px solid #fff !important; text-transform: uppercase; padding: 10px 30px 10px 30px !important; }

/* carousel with rounded corners */
#carousel-rounded img { border-radius: 10px; }

/* tables */
th { background: #000 !important; color: #fff !important; }
td { border: 1px solid #000 !important; }

/* table column settings */
.two-columns th,
.two-columns td {
    width: 50% !important;
}
.three-columns th,
.three-columns td {
    width: 33.3333333% !important;
}
.four-columns th,
.four-columns td {
    width: 25% !important;
}
.five-columns th,
.five-columns td {
    width: 20% !important;
}
.six-columns th,
.six-columns td {
    width: 16.666666% !important;
}
.seven-columns th,
.seven-columns td {
    width: 14.28% !important;
}

/* tablepress tables */
.nationals-winners { width: 100%; margin: 0 0 20px; }
.nationals-winners .table-title { font-size: 30px !important; color: #d82028 !important; padding: 12px 0; }
.nationals-winners .table-header td { background: #d82028 !important; font-weight: bold !important; font-size: 22px;}
.nationals-winners td { padding: 12px 8px; border: 0 !important; }
.nationals-winners.three-col td { width: 33.333333%; }
.nationals-winners.four-col td { width: 25%; }

.nationals-winners tr:nth-child(odd) td {
  background-color: #000;
}

.nationals-winners tr:nth-child(even) td {
  background-color: #1a1a1a;
}


/* boxed content */
.boxed-content { text-align: center; margin: 0 auto 30px; padding: 25px 15px !important; color: #fff; background-color: #d82028; font-weight: bold; font-size: 20px; }
.boxed-content h1, .boxed-content h2, .boxed-content h3, .boxed-content h4, .boxed-content h5, .boxed-content h6, .boxed-content p, .boxed-content li { color: #fff !important; margin-bottom: 0 !important; font-weight: bold !important; }

/*
**  FOOTER **
*/

#footer-signup-container { padding: 84px 0 64px; max-width: 100%; background: #000; margin: 0 auto; }
#footer-signup { width: 100%; max-width: 1066px; background: #000; display: block; padding: 0 0 15px 0; border-bottom: 1px solid #fff !important; margin: 0 auto; min-height: 56px; }
#footer-signup .title { float: left; width: 45%; vertical-align: middle; margin: 8px 0 0; }
#footer-signup .form-holder { width: 55%; float: right; vertical-align: middle; }
#footer-signup h2 { color: #fff; text-transform: uppercase; font-size: 20px; padding: 0; line-height: 100%; }
#footer-signup .form-holder {text-align: right; position: relative; }
#footer-signup .gform_wrapper { margin: 0 !important; border: 1px solid #fff; padding: 8px  }
#footer-signup .gform_wrapper form { display: flex; flex-direction: row; align-items: center; justify-content: center; }
#footer-signup .gform_confirmation_wrapper { position: absolute; left: 0; right: 0; bottom: 8px; margin: 0 auto; text-align: center; }
#footer-signup .gform_confirmation_wrapper .gform_confirmation_message { font-size: 22px !important; }
#footer-signup .gform_body { display: block; align-self: flex-end; padding-top: 0; margin-top: 0; flex: 4; }
#footer-signup .ginput_container { margin-top: 0; }
#footer-signup .gform_fields, #footer-signup .gform_footer { display: block; }
#footer-signup .gform_footer { margin-top: 0; padding: 0 15px 0; flex: 1; text-align: right; }
#footer-signup .gfield { margin-top: 0 !important; }
#footer-signup .gform_heading { display: none; }
#footer-signup .email_address input { margin-top: 0; background: transparent; width: 100%; text-transform: uppercase; text-align: left; font-size: 1.7rem !important; padding: 0 10px 0 10px; border: none !important; color: #fff !important; }
#footer-signup .email_address input::placeholder { color: #fff; }
#footer-signup .gform_footer input { margin: 0 !important; max-height: 39px; border: none !important; }
#footer-signup .gform_footer .gform_button { color: #fff !important; filter: invert(100%); width: 45px !important; height: auto; }

#footer-desktop { background-color: #000; color: #fff !important; text-transform: uppercase; font-size: 16px; padding-bottom: 60px !important; }
#footer-desktop .fl-row { max-width: 1066px; }
#footer-desktop .fl-col-group { display: flex; align-items: center; }
#footer-desktop .fl-col { display: block !important; width: 25% !important; }
#footer-desktop .fl-col.col-first { float: left; width: 45% !important; }
#footer-desktop .fl-col.col-center { float: left; }
#footer-desktop .fl-col.col-last, #footer-desktop .fl-col.col-last .fl-col-content { float: right; }
#footer-desktop .fl-col.right-aligned p { text-align: right !important; }
#footer-desktop .fl-col.col-last .fl-button-wrap { text-align: right; margin: 0 54px 20px 0; }
#footer-desktop .fl-col.col-last .fl-button-wrap a { border-radius: 0 !important; background: #d82028 !important; padding: 4px 20px; border: none !important; color: #fff !important;  }
#footer-desktop .fl-col.col-last .fl-button-wrap a:hover { background: #D82028 !important; color: #000 !important;  }
#footer-desktop .social-icons p { margin-right: 34px;}
#footer-desktop .fl-col.col-last img { max-width: 24px; margin: 0 5.2px; }
#footer-desktop p { color: #fff !important; text-transform: uppercase; font-size: 16px; margin: 0; }
#footer-desktop .fl-module-content { margin: 0; }
#footer-desktop .fl-row-content-wrap { padding: 0; }
#footer-desktop .bottom-copyright .fl-col-group .fl-col { flex-grow: 1 }
#footer-desktop .bottom-copyright .fl-row-content { border-top: 1px solid #fff; padding: 20px 0 0; }
#footer-desktop .bottom-copyright .fl-row-content-wrap { padding: 60px 0 0; }
#footer-desktop .bottom-copyright .col-last { justify-content: end; }
#footer-desktop a, #footer-desktop a:visited { color: #fff !important; font-size: 16px; padding: 0; }
#footer-desktop a:active, #footer-desktop a:hover { color: #D82028 !important; background-color: transparent; }
#footer-desktop .pp-social-icons { text-align: right; }
#footer-desktop .pp-social-icons a i { font-size: 16px; margin: 0; color: #d82028 !important; background-color: #fff; border-radius: 100px; padding: 3px }
#footer-desktop img { max-width: 250px; height: auto; }
#footer-desktop a.btn_footer:active, #ez-fat-footer-container a.btn_footer:hover { background: #aaa; }
#footer-desktop .col-last a:hover img { opacity: 0.8 !important; }
#footer-desktop .col-last a img { transition: transform 0.3s ease, opacity 0.3s ease; }

#footer-desktop .col-last a:hover img {
  opacity: 0.7 !important;
  transform: scale(1.1) !important;
}

#footer-desktop .fl-col.col-last .fl-button-wrap a:active, #footer-desktop .fl-col.col-last .fl-button-wrap a:hover { color: #000 !important; }

#footer_bottom_section { max-width: 100% !important; background: #d82028; line-height: 100% !important; padding: 20px 0 84px; }

#footer_bottom_section .container { max-width: 1066px !important; padding: 0; margin: 0 auto; background: #d82028;  display: ; 
    flex-direction: var(--flex-direction);
    flex-wrap: var(--flex-wrap);
    justify-content: space-between;
    align-items: var(--align-items);
    align-content: var(--align-content);
    gap: var(--gap);
    color: #fff; font-size: 18px;
    text-transform: uppercase; }

#footer_bottom_section .footer1 { max-width: 550px; }
#footer_bottom_section .footer1 img { max-width: 300px; }

#footer_bottom_section a, #footer_bottom_section a:visited { color: #fff; }
#footer_bottom_section a:active, #footer_bottom_section a:hover { color: #aaa; }

footer.site-footer { display: none; }

/* mobile footer */
#footer-mobile { display: none !important; }

/* flexboxes */
/*On the flex container*/
.flexcontainer {
   display: -webkit-flex;
   display: flex;
}
.flexrow { 
   -webkit-flex-direction: row;
   flex-direction: row;
}
.flexrow.wrap {
    flex-wrap: wrap;
}
.flexequal.half { flex: 1 0 50%; }
.flexequal.third { flex: 1 0 30%; }

/* custom post types */
/* single pages */
.page-custom-header p { margin: 0; }
article.type-company header { display: none; }

/* padded, nopadding */
.padded-regular { padding: 20px !important; }
.padded { padding: 30px; }
.nopadding { padding: 0; }

/* margin, nomargin */
.nomargin, .nomargin p, .nomargin h1, .nomargin h2, .nomargin h3, .nomargin h4, .nomargin h5, .nomargin h6 { margin: 0 !important; }
.bottom-margin { margin: 0 0 30px; }

/* alignment */
.rightalign { text-align: right; }

/* text */
.text-light, .text-light p, .text-light h1, .text-light h2, .text-light h3, .text-light h4, .text-light h5, .text-light h6 { color: #fff !important; }

.text-light .pp-button-wrap a, .text-light .pp-button-wrap a:visited { background: #fff !important; color: #000 !important; margin-bottom: 15px !important; }
.text-light .pp-button-wrap a:active, .text-light .pp-button-wrap a:hover { background: #000 !important; color: #fff !important; }

.text-dark, .text-dark p, .text-dark h1, .text-dark h2, .text-dark h3, .text-dark h4, .text-dark h5, .text-dark h6 { color: #000 !important; }
.text-medium, .text-medium p { color: #ccc !important; }
.centered { text-align: center; }
.text-bold, .text-bold p, .text-bold div, .text-bold li { font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; font-weight: bold !important; }
.text-uppercase { text-transform: uppercase; }

.text-blue { color: #d82028 !important; }

.text-bold-expanded, .text-bold-expanded h1, .text-bold-expanded h2, .text-bold-expanded h3, .text-bold-expanded h4, .text-bold-expanded h5, .text-bold-expanded h6, .text-bold-expanded p, .text-bold-expanded li { font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; text-transform: uppercase !important; }
.link-black a, .link-black a:visited { color: #000 !important; text-decoration: none !important; }
.link-black a:hover { color: #777 !important; }
.text-lowercase, .text-lowercase p, .text-lowercase h1, .text-lowercase h2, .text-lowercase h3, .text-lowercase h4, .text-lowercase h5, .text-lowercase h6 { text-transform: none !important; }

.gold-text h2 span { background-image: radial-gradient(circle, rgba(234,215,159,1) 0%, rgba(172,148,96,1) 44%, rgba(242,226,178,1) 100%);
    color: transparent;
    background-clip: text; }

.heading-bold-blue, .heading-bold-blue h1, .heading-bold-blue h2, .heading-bold-blue h3, .heading-bold-blue h4, .heading-bold-blue h5, .heading-bold-blue h6, .heading-bold-blue p, .heading-bold-blue span { color: #d82028 !important; font-weight: bold !important; }

.tall-text, .tall-text h1, .tall-text h2, .tall-text h3, .tall-text h4, .tall-text h5, .tall-text h6, .tall-text p, .tall-text li { line-height: 160% !important; }

strong, b { font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; }

/* alignment items */
.align-left { text-align: left; }
.align-center { text-align: center; }
.align-right { text-align: right; }

/* section titles */
.section-title h2 { font-size: 88px !important; font-weight: 500 !important; line-height: 100% !important; }

/* dates title */
.dates-title h2 { font-size: 50px !important; font-weight: 500 !important; line-height: 100% !important; }

/* next date button */
.next_date_button { text-align: right; }
.next_date_button a, .next_date_button a:visited {
    display: inline-block;
    line-height: 1;
    background-color: #d82028;
    font-size: 15px;
    padding: 12px 24px;
    border-radius: 0;
    color: #fff !important;
    text-align: center;
    transition: all .3s;
    text-decoration: none !important;
}
.next_date_button a:active, .next_date_button a:hover { background-color: #fff !important; color: #000 !important; }

/* font sizes */
.font-medium, .font-medium p { font-size: 24px !important; line-height: 120% !important; }
.font-medium-small, .font-medium-small p { font-size: 20px !important; line-height: 120% !important; }
.font-small, .font-small p { font-size: 12px !important; line-height: 120% !important; }

/* form buttons with icons */
input[type=submit]:hover { background: #555; }
.fa-fa {
  font-family: FontAwesome, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
}

/* gold buttons */
.gold-button .pp-button-wrap a:hover { color: #fff !important; border: 2px solid #fff !important; }

/* black buttons */
.black-button .pp-button-wrap a, .black-button .pp-button-wrap a:visited { color: #000 !important; border: 2px solid #000 !important; text-decoration: none !important; }
.black-button .pp-button-wrap a:hover { color: #777 !important; border: 2px solid #777 !important; }

/* expanded text */
.expanded-text h2 { font-size: 60px !important; }
.expanded-text .gold-button .pp-button-wrap a { padding: 14px 40px !important; border: 4px solid #d82028 !important; }
.expanded-text .gold-button .pp-button-wrap a:hover { color: #fff !important; border: 4px solid #fff !important; }

/* admin edit link */
.post-edit-link { display: none; }

/* internal logos *//* logos */
.logos-horizontal img { max-height: 79px; width: auto; margin: 20px; vertical-align: middle; }

/* tour dates page */
.event-rows-holder { max-width: 1100px; border-bottom: 1px solid #ccc; padding: 30px 0; }
.event-rows { color: #fff; text-transform: uppercase; }
.event-rows .event-dates { font-size: 28px; font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; align-self: center; }
.event-rows .event-location  { align-self: center; }
.event-rows .event-location .event-title { font-size: 18px; font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important; line-height: 100%; display: block; }
.event-rows .event-location .event-venue { font-size: 14px; }
.event-rows .event-link { text-align: right; align-self: center; }
.event-rows .event-link a {  font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important;color: #d82028 !important; font-size: 18px; border: 1px solid #d82028; padding: 8px 12px; border-radius: 30px; text-decoration: none !important; }
.event-rows .event-link a:hover { color: #000 !important; border: 1px solid #000 !important; }

/* separators */
.separator { height: 2px; background: #777; margin: 30px 0; }
.separator-hidden { height: 30px; }

/* tablet and mobile only */
.tablet-display { display: none !important; }

/* mobile only */
.mobile-display { display: none; }

/* THIS WEEKEND DATES - TOP OF HOMEPAGE FROM STATS API */
#this_weekend_dates p { display: none; }
#this_weekend_dates .container { display: flex; justify-content: space-between; align-items: center; padding: 0; }
#this_weekend_dates, #this_weekend_dates p { color: #fff !important }
#this_weekend_dates h2 { color: #fff; font-weight: bold; }
#this_weekend_dates h3 { margin: 0; }
#this_weekend_dates .tour-date-first-content-wrapper a { color: #fff !important; text-decoration: none !important; font-size: 18px; letter-spacing: 3px; }
#this_weekend_dates .tour-buttons { display: flex; justify-content: space-between; align-items: center; }
#this_weekend_dates .button-tan a { background-color: #fff; border: none; font-style: normal; padding: 12px 24px; min-width: 250px; text-align: center; line-height: 100%; text-decoration: none !important; color: #000 !important; margin: 0 8px !important;}
#this_weekend_dates .button-tan a:hover { background-color: #000; color: #fff !important; }
#this_weekend_dates .button-tan:last-child a { margin: 0 0 0 8px !important; }

/* SLIDE MENUS */
.info-page {
       /* Removed margin-top, let nav handle its position */
      padding: 2rem;
    }
     .info-page p {
         margin-top: 0;
     }

    .info-navigation-container {
  z-index: 100;
  width: 100%;
  background: #222;
  color: #fff;
  font-size: 0.75rem;
  overflow: hidden;
  user-select: none;
  height: var(--nav-height); /* Use variable */
  box-sizing: border-box;
    }

    .info-navigation-container a { 
       color: #fff !important; }

    .info-navigation-container .container {
      position: relative;
      height: 100%; /* Ensure container fills height */
      display: flex; /* Use flex for easier alignment */
      align-items: center; /* Vertically center items */
    }

    .info-navigation-scroll {
      flex-grow: 1; /* Allow scroll area to take available space */
      overflow-x: auto; /* Changed to auto for horizontal scroll */
      overflow-y: hidden; /* Hide vertical scrollbar */
      box-sizing: content-box;
      position: relative;
      -webkit-overflow-scrolling: touch;
      /* padding-bottom: 2rem; /* REMOVED - Unnecessary padding */
      scrollbar-width: none; /* Firefox */
      -ms-overflow-style: none; /* IE/Edge */
       white-space: nowrap; /* Keep items on one line */
    }
     .info-navigation-scroll::-webkit-scrollbar { /* Chrome/Safari/Opera */
        display: none;
     }


    .info-navigation {
      list-style-type: none;
      padding: 0 !important;
      margin: 0 !important;
      white-space: nowrap;
      display: inline-block; /* Allow container to size to content */
       vertical-align: middle; /* Align with arrows if needed */
    }

    .info-navigation li {
      display: inline-block;
      vertical-align: middle; /* Align items vertically */
    }

    .info-navigation li a, .info-navigation li a:visited {
      display: block;
      padding: 8px 0; /* Adjust as needed */
      line-height: calc(52px - 2rem - 2px); /* Calculate line-height based on container height, padding, border */
      color: #fff !important;
      font-weight: 900;
      text-transform: uppercase;
      border-bottom: 2px solid transparent;
      cursor: pointer;
      text-decoration: none;
      transition: 0.25s;
      font-size: 14px;
    }

    .info-navigation li a:hover {
      color: #ddd !important;
    }

    .info-navigation li a.active { /* Simplified active selector */
      color: #ddd !important;
      border: none !important;
      /* border-bottom-color: #45b4ff; Optional: highlight border */
    }

    .more-left,
    .more-right {
      display: flex; /* Will be controlled by JS */
      width: 3.5rem;
      height: 100%;
      position: relative; /* Changed from absolute */
      z-index: 10;
      animation-duration: 0.25s;
      text-align: center;
      flex-shrink: 0; /* Prevent arrows from shrinking */
      cursor: pointer; /* Add pointer cursor */
      display: flex; /* Use flex to center icon */
      align-items: center;
      justify-content: center;
       background: transparent !important; /* Match container background */
    }
    a.more-left:hover,
    a.more-right:hover { color: #ddd !important; }

    .more-left .svg-icon,
    .more-right .svg-icon {
      width: 1.5rem;
      height: 1.5rem;
      /* margin-top: 1em; REMOVED - Flex alignment handles centering */
      fill: #fff !important;
      transition: 0.25s;
    }

    .more-left .svg-icon:hover,
    .more-right .svg-icon:hover {
      fill: #ddd !important;
    }

    .more-left {
      /* left: -0.5rem; REMOVED - Now part of flex layout */
      order: -1; /* Place left arrow first */
    }

    .more-right {
      /* right: -0.5rem; REMOVED - Now part of flex layout */
       order: 1; /* Place right arrow last */
    }
    .info-nav-fixed {
  position: fixed;
  /* Stick below the header using the CSS variable calculated by JS */
  top: var(--header-height);
  left: 0;
  width: 100%; /* Or right: 0 */
  /* Add shadow for visual separation when fixed */
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

/* Class added to the main content wrapper to prevent jump */
#main-content.content-area-padded {
  /* Add padding equal to the nav height using the CSS variable */
  padding-top: var(--nav-height);
}
}

/* TOUR DATES - STATS API */
.container {
    display: flex !important;
    justify-content: space-between;
    padding: 28px 0;
    border-top: 3px solid #000;
}
#tour_dates .container .tour-date-first-content-wrapper .tour-date-event-date-button {
    margin: 0 0 15px 0 !important;
    font-style: italic;
    font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important;
    font-size: 22px !important;
}
#tour_dates .container .tour-date-first-content-wrapper .tour-date-event-date-button a p {
    font-size: 22px !important;
    text-decoration: none !important;
}
#tour_dates .container .tour-date-first-content-wrapper a h2, #tour_dates .container .tour-date-first-content-wrapper a {
    font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important;
    color: #fff !important;
    font-size: 36px;
    font-weight: 400;
    text-decoration: none !important;
    text-decoration-line: none !important;
    margin: 0;
}
#tour_dates .container .tour-date-first-content-wrapper h2 { width: auto !important; margin: 0 !important; }
#tour_dates .container .tour-date-first-content-wrapper a:active h2, #tour_dates .container .tour-date-first-content-wrapper a:hover h2, #tour_dates .container .tour-date-first-content-wrapper a:active, #tour_dates .container .tour-date-first-content-wrapper a:hover { color: #D82028 !important; }
.tour-date-event-location-button-mobile { display: none; }
#tour_dates .container .tour-date-first-content-wrapper .tour-date-event-location-button {
    font-size: 22px;
    color: #fff;
    font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important;
    font-weight: 400;
    line-height: 1.2;
}
#tour_dates .container .tour-date-buttons-wrapper {
    text-align: end;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content: flex-start;
    position: relative;
}
#tour_dates .container .tour-date-buttons-wrapper a {
color: #000 !important;
font-size: 16px;
font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important;
border: 1.5px solid #fff;
padding: 5px 48px 6px;
display: inline-flex;
border-radius: 0 !important;
transition: all 0.3s ease-in-out;
font-weight: 500;
text-transform: uppercase;
font-style: italic;
text-decoration: none !important;
height: 100%;
align-items: center;
justify-content: center;
}
#tour_dates .container .tour-date-buttons-wrapper a:hover{
background-color: #d82028;
color: #fff !important;
}
#tour_dates .tour-date-event-location-button {
    color: #000 !important; font-size: 22px !important; font-style: italic;
}
#tour_dates .container .tour-date-buttons-wrapper .tour-date-dates-post-buttons-wrapper {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
    display: none;
}
#tour_dates .tour-date-dates-post-buttons-wrapper { display: none !important; }
#tour_dates .container:last-child {
    border-bottom: 3px solid #000;
}

/* woocommerce */
body.page-id-2827 .woocommerce-product-gallery, body.page-id-2827 .woocommerce-tabs, body.page-id-2827 .onsale, body.page-id-2827 .product_title, body.page-id-2827 .product_meta, body.page-id-2827 p.price { display: none; }
body.page-id-2827 .woocommerce .summary { width: 100% !important; padding: 20px 0; }
body.page-id-2827 .woocommerce th, body.page-id-2827 .woocommerce td.label { text-align: left; width: 100px; }
body.page-id-2827 .woocommerce tr, .thwepo-extra-options tr { display: flex; padding: 12px 0; align-items: center; }
body.page-id-2827 .woocommerce label { text-transform: uppercase; font-size: 26px !important; }
body.page-id-2827 .woocommerce div.product form.cart .variations select, .thwepof-input-field { background-color: transparent; max-width: 100% !important; width: 320px ;font-size: 26px !important; border: 4px solid #fff; padding: 12px; text-transform: uppercase; }
body.page-id-2827 .woocommerce abbr.required { display: none; }
body.page-id-2827 .woocommerce .qty { font-size: 26px; padding: 8px; background: #000; color: #fff; font-weight: 600px; border: 4px solid #fff; margin: 0 10px 0 0; height: 58px; }
body.page-id-2827 .single_add_to_cart_button { background-color: #000 !important; font-size: 26px !important; text-transform: uppercase !important; border: 4px solid #FEDD02; padding: 8px 20px !important; height: 58px; color: #fff !important; }
.woocommerce div.product form.cart .variations { margin: 0 !important; }
body.page-id-2827 .woocommerce-variation { margin: 0 0 20px; }
body.page-id-2827 .woocommerce-variation bdi, body.page-id-2827 .woocommerce-Price-currencySymbol { font-size: 32px !important; }

.woocommerce .label-tag { font-weight: bold; }

.woocommerce .button, .woocommerce .button:visited { background: #FEDD02 !important; color: #000 !important; border: 2px solid #FEDD02 !important; }
.woocommerce .button:active, .woocommerce .button:hover { background: #000 !important; color: #fff !important; border: 2px solid #fff !important; }

.woocommerce-message { margin: 15px 0 0; }

.woocommerce-error,.woocommerce-info,.woocommerce-message { background-color: transparent !important; border-top-color: #FEDD02; }

.woocommerce-message::before { color: #FEDD02; }


#tour_dates div#main-wrapper {
    display: flex;
    justify-content: space-between;
    margin-bottom: 54px;
    flex-direction: row-reverse;
    align-items: center;
}
#tour_dates div#main-wrapper.categories {
    flex-direction: row;
}
#tour_dates div#main-wrapper div#selected-category {
    max-width: max-content;
}
#tour_dates div#main-wrapper select, #tour_dates div#main-wrapper select:active {
    max-width: max-content;
    appearance: none;
    background: transparent;
    border: 1.5px solid #fff;
    color: #fff !important;
    font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important;
    font-size: 16px;
    font-weight: 700;
    font-style: italic;
    padding: 9px 50px 6px 20px;
    line-height: 1;
    border-radius: 0;
    background: url(/wp-content/uploads/2025/01/downarrowwhite.png) !important;
    background-repeat: no-repeat !important;
    background-position: 93% 50% !important;
    background-size: 11px !important;
    outline: none;
}
#tour_dates div#main-wrapper select:hover { background: #d82028 url(/wp-content/uploads/2025/01/downarrowwhite.png) !important; color: #fff !important; cursor: pointer;
    background-repeat: no-repeat !important;
    background-position: 93% 50% !important;
    background-size: 11px !important; }
#tour_dates div#main-wrapper div#selected-category a {
    margin: 0;
    font-size: 16px;
    color: #fff !important;
    font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important;
    font-weight: 700;
    font-style: italic;
    background: #d82028;
    padding: 10px 20px;
    border-radius: 0;
    text-decoration: none !important;
}
#tour_dates div#main-wrapper div#selected-category a:active, #tour_dates div#main-wrapper div#selected-category a:hover { background: #d82028; }
.comon_s4 span {
    margin-left: 40px;
}

#tour_dates .container:hover h2 a, #tour_dates .container:hover .tour-date-event-location-button, #tour_dates .container:hover .tour-date-event-date-button, #tour_dates .container:hover .tour-date-buttons-wrapper a {
color: #d82028;
}
#tour_dates .container:hover .tour-date-buttons-wrapper a {
border-color: #d82028;
}
#tour_dates .container .tour-date-buttons-wrapper .tour-date-dates-post-buttons-wrapper a {
margin-bottom: 12px;
}
#tour_dates .container .tour-date-buttons-wrapper .tour-date-dates-post-buttons-wrapper.active + .tour-date-register-button {
display: none;
}
#tour_dates .container .tour-date-buttons-wrapper .tour-date-dates-post-buttons-wrapper .tour-date-live-tv-button a {
margin-bottom: 0;
}
#tour_dates .tour-date-competition-schedule-button { margin: 0; height: 100%; }
#tour_dates .tour-date-competition-schedule-button a { display: inline-flex; height: 100%; }
#tour_dates .mobile_register_btn { display: none !important; }
#tour_dates div#main-wrapper select:focus {
background: #d82028;
color: #fff;
outline: none;
}

#tour_dates .tour-date-dates-post-buttons-wrapper-desktop .tour-date-buttons-wrappers-desktop {
display: flex;
flex-direction: row !important;
column-gap: 15px;
align-self: flex-start;
line-height: 100% !important;
}
.tour-date-dates-post-buttons-wrapper-desktop .tour-date-buttons-wrappers-desktop a, .tour-date-dates-post-buttons-wrapper-desktop .tour-date-buttons-wrappers-desktop a {
font-size: 16px;
font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important;
color: #000 !important;
display: inline-block;
max-width: max-content;
border: 1.5px solid #000;
padding: 6px 15px;
border-radius: 0;
margin-bottom: 12px;
-webkit-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
font-style: italic;
font-weight: 500;
margin-bottom: 0;
text-decoration: none !important;
line-height: 120%;
}
#tour_dates .container .tour-date-buttons-wrapper a { padding: 6px 15px; }

.tour-date-dates-post-buttons-wrapper-desktop .tour-date-buttons-wrappers-desktop a:hover, .tour-date-main-content-wrapper>.tour-date-dates-post-buttons-wrapper .tour-date-buttons-wrappers a:hover { background-color: #d82028; color: #fff !important; }
#tour_dates .tour-date-buttons-wrapper.desktop_register_btn .tour-date-event-location-button { align-self: flex-start; position: relative; }

#tour_dates .tour-date-register-button.desktop_register_btn { position: absolute; bottom: 0; }

/* PAST SEASONS */
#tour_dates .past-seasons .container { display: flex !important; border-top: 1px solid #fff; padding: 8px 0 !important; 
    align-items: center; }
#tour_dates .past-seasons .container .tour-date-main-content-wrapper, #tour_dates .past-seasons .container .tour-date-buttons-wrapper, #tour_dates .past-seasons .container .result-wrapper { flex-basis: 0%; flex-grow: 1; flex-shrink: 1;  }
#tour_dates .past-seasons .container .tour-date-first-content-wrapper { text-align: left; }
#tour_dates .past-seasons .container .tour-date-buttons-wrapper { align-items: center; text-align: center !important; }
#tour_dates .past-seasons .container .tour-date-buttons-wrapper .tour-date-season-date { font-size: 18px; }
#tour_dates .past-seasons .container .result-wrapper { text-align: right; }
#tour_dates .past-seasons .container .tour-date-first-content-wrapper h2 a { font-size: 18px !important; }
#tour_dates .past-seasons div { line-height: 100% !important; }
#tour_dates .past-seasons .tour-date-result-button a, #tour_dates .past-seasons .tour-date-result-button a:visited {
font-size: 18px;
font-family: 'Neue Haas Grotesk Display Pro', sans-serif !important;
color: #fff !important;
display: inline-block;
max-width: max-content;
border: 1.5px solid #fff;
padding: 6px 30px;
border-radius: 0;
margin-bottom: 12px;
-webkit-transition: all 0.3s ease-in-out;
transition: all 0.3s ease-in-out;
font-style: italic;
font-weight: bold;
margin-bottom: 0;
text-decoration: none !important;
line-height: 100%;
}
#tour_dates .past-seasons .tour-date-result-button a:active, #tour_dates .past-seasons .tour-date-result-button a:hover {
color: #fff !important;
border: 1.5px solid #d82028 !important;
background: #d82028 !important;
}


/* ===============================
   RESULTS (scoped to .tab_data_results)
   =============================== */

/* results-tables.css
   Monochrome responsive tables, fixed layout, consistent widths
   No bold text, minimal greys.
*/
/* page header */
.jt-results-header-full { background: #000000 !important; }
.jt-results-header-inner, .jt-results-header-inner.container, .jt-tab-data-main { max-width: 1100px !important; margin: 0 auto !important;}
.jt-tab-data-main { margin: 30px auto !important; }

/* Container / headings */
.jt-top-section .jt-event-title { margin: 0 0 6px 0; font-weight: normal; color: #000; }
.jt-top-section h4 { margin: 0 0 4px 0; font-weight: normal; color: #000; }

/* Tabs (inherit site styles; these are minimal) */
.tabs-holder .tab { margin: 12px 0; }
.tab .tablinks { display: inline-block; margin-right: 8px; padding: 8px 12px; cursor: pointer; text-decoration: none; color: #000; background: transparent; border: 1px solid transparent; }
.tab .tablinks.active { border-bottom: 2px solid #000; }

/* Box wrapper heading */
.jt-box-wrapper h4 { margin: 8px 0; font-weight: normal; color: #000; }

/* Table wrapper */
.jt-table-responsive { width: 100%; overflow-x: auto; margin-bottom: 16px; }

/* Fixed table layout for consistent widths */
.jt-results-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  min-width: 540px;
  background: #fff;
  color: #000;
}

/* Header row - dark strip */
.jt-results-table thead th {
  background: #111;
  color: #fff;
  text-align: left;
  padding: 10px 12px;
  border: 1px solid #e2e2e2;
  font-weight: normal;
}

/* body cells */
.jt-results-table tbody td {
  padding: 8px 10px;
  border: 1px solid #eaeaea;
  vertical-align: middle;
  font-weight: normal;
  color: #000;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* placement column narrow class (can be applied via colgroup) */
.jt-results-table col.col-place,
.jt-results-table th.col-place,
.jt-results-table td.col-place { width: 9%; }

/* mobile: stacked label/value rows */
@media (max-width: 720px) {
  /* Let the table be natural width on mobile, remove desktop min-width */
  .jt-results-table {
    min-width: 0 !important;
    table-layout: auto !important; /* let cells size to content when needed */
  }

  /* Hide header (we keep data-label) */
  .jt-results-table thead {
    display: none;
  }

  /* Make each row block-level for stacked view */
  .jt-results-table tbody tr {
    display: block;
    margin-bottom: 12px;
    border: 1px solid #eee;
    padding: 6px;
    background: #fff;
  }

  /* Make cells full width and allow wrapping */
  .jt-results-table tbody td {
    display: block;
    border: 0;
    padding: 8px 10px;
    border-bottom: 1px solid #f1f1f1;
    white-space: normal !important;     /* ALLOW wrapping on mobile */
    overflow: visible !important;       /* show full content when stacked */
    text-overflow: clip !important;
  }

  .jt-results-table tbody td:last-child {
    border-bottom: 0;
  }

  /* Reset any colgroup widths that would squeeze on mobile */
  .jt-results-table col {
    width: auto !important;
  }
  .jt-results-table col.col-place {
    width: auto !important;
  }

  /* Label shown before each value — make it a bit narrower so values have room */
  .jt-results-table tbody td::before {
    content: attr(data-label) ": ";
    display: inline-block;
    width: 35%;        /* slightly smaller so the value has more room */
    min-width: 90px;   /* ensure label has readable width for long labels */
    color: #333;
    font-weight: normal;
  }

  /* If you need very long values to scroll horizontally within the stacked cell, allow it:
     (uncomment if desired)
  .jt-results-table tbody td {
    overflow-x: auto;
  }
  */
}


/* ---------- Top header area: city/date + nav ---------- */
.jt-results-header-full {
  width: 100%;
  background: #ffffff; /* white band; change if you want a subtle tint */
  padding: 28px 0; /* vertical padding for the band */
}

/* inner container centers content (keeps same container rule as site) */
.jt-results-header-inner {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 0 20px;
  box-sizing: border-box;
  max-width: 1200px; /* if your theme container is different, adapt or remove */
  margin: 0 auto;
}

/* Left side: location + date */
.jt-results-top-left { flex: 0 1 auto; min-width: 220px; }
.jt-date-line {
  color: #fff;
  font-size: 20px;
  margin-top: 6px;
  font-weight: normal;
  text-transform: uppercase; margin: 0;
}
a.jt-location-link, a.jt-location-link:visited { color: #fff !important; text-transform: uppercase; font-weight: 900 !important; margin: 0 !important; font-size: 20px; text-decoration: none; display: inline-block; }

/* Right side: nav links (inline) and big tab title below them */
.jt-results-top-right { flex: 1 1 auto; display: flex; flex-direction: column; align-items: flex-start; }

/* navigation links row */
.jt-results-nav {
  display: flex;
  gap: 22px;
  align-items: center;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

/* nav link style */
.jt-navlink {
  text-decoration: none;
  padding-bottom: 6px;
  font-size: 18px;
  border-bottom: 2px solid transparent; /* underline effect for active */
  display: inline-block;
  line-height: 1;
  font-weight: normal;
}

/* active nav link underline */
.jt-navlink.active {
  border-bottom-color: #fff; /* dark underline like site */
  color: #fff !important;
}

/* big title under the links */
.jt-results-tab-title {
    display: none;
}

/* Responsive handling: stack on narrow screens */
@media (max-width: 900px) {
  .jt-results-header-inner {
    flex-direction: column;
    align-items: flex-start;
  }
  .jt-results-top-right { width: 100%; }
  .jt-results-nav { gap: 12px; margin-bottom: 8px; }
  .jt-results-tab-title { font-size: 22px; }
  .jt-results-header-full { padding: 20px 0; }
}


/* small visual spacing */
.jt-box-wrapper { margin-bottom: 20px; }
.jt-main-heading { font-weight: 900 !important; border-top: 1px solid #000; border-bottom: 1px solid #000; padding: 12px 0; margin: 0 0 18px !important; }
.jt-box-wrapper .jt-main-heading { font-weight: 400 !important; border: none; padding: 0; margin: 0 0 10px !important; }
.no_results { color: #333; padding: 12px 0; }

/* Keep link colors neutral */
.jt-results-table a { color: inherit; text-decoration: none; }

/* Accessibility: ensure focus ring on tab links */
.tab .tablinks:focus { outline: 2px solid #444; outline-offset: 2px; }

/* Allow wrapping in table cells so long names don't get truncated */
.jt-results-table {
  table-layout: fixed; /* keep column widths consistent where you set them */
}

/* Allow cells to wrap and break long words when needed */
.jt-results-table tbody td {
  white-space: normal;            /* allow wrapping (desktop + mobile) */
  overflow-wrap: anywhere;        /* break long words/URLs as needed */
  word-wrap: break-word;          /* fallback */
  word-break: break-word;         /* prevent overflow in many browsers */
  text-overflow: clip;            /* don't show ellipsis */
  overflow: visible;              /* ensure full content is visible when wrapping */
}

/* Keep the Place column narrow and single-line so Place values remain compact.
   This targets the first column in all tables; if some tables have different column order
   you can change the selector to match specific tables (e.g. .jt-box-wrapper .jt-results-table td:first-child).
*/
.jt-results-table tbody td:first-child,
.jt-results-table thead th:first-child {
  white-space: nowrap;   /* keep "1st" / "RUNNER-UP" on one line */
  overflow: visible;
}

/* Optionally, if you still use ellipsis on header or other columns, force headers to show full label */
.jt-results-table thead th {
  white-space: nowrap; /* header labels kept single-line */
}

/* Mobile stacking remains handled by your existing mobile media query.
   If you changed it earlier, make sure the mobile rules keep white-space: normal so stacked rows show full text. */
@media (max-width:720px) {
  .jt-results-table { table-layout: auto !important; min-width: 0 !important; }
  .jt-results-table tbody td { white-space: normal !important; overflow-wrap: anywhere !important; }
}

/* BUTTONS BAR ON BOTH SCHEDULE PAGES */
/* Width + alignment to match .tab_data-main (1100px + 15px left/right) */
.tab_data-main {
  max-width: 1100px;
  padding-left: 15px;
  padding-right: 15px;
  margin-left: auto;
  margin-right: auto;
}

/* Actions bar sits inside the same section, so edges line up with the table */
.cds-actions{
  display:flex;
  justify-content:space-between; /* pins to left & right */
  align-items:center;
  gap:16px;
  margin:0 0 12px;
}

:root{
  --cta-grad-start:#1c128f; /* deep indigo from header */
  --cta-grad-end:#ff0f7b;   /* pink/magenta from header */
  --cta-text:#ffffff;
  --cta-shadow:rgba(0,0,0,.25);
}

.cds-btn, .site-inner a.cds-btn, .site-inner a.cds-btn:visited {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 20px;
  border-radius:0;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
  text-decoration:none;
  color:var(--cta-text)!important;
  background:#d82028;
  border:none;
  box-shadow:0 2px 6px var(--cta-shadow), inset 0 0 0 2px rgba(255,255,255,.12);
  transition:transform .18s ease, filter .18s ease, box-shadow .18s ease;
  white-space:nowrap;
  min-width: 250px;
}
.site-inner a.cds-btn:hover{
  transform:translateY(-1px);
  filter:brightness(1.07);
  box-shadow:0 6px 14px var(--cta-shadow), inset 0 0 0 2px rgba(255,255,255,.18);
  background: #222;
}
.cds-btn:active{ transform:translateY(0); }

/* Disabled look */
.cds-btn--disabled{
  opacity:.45;
  background:linear-gradient(90deg,#9a9a9a,#bdbdbd);
  box-shadow:none;
  cursor:not-allowed;
  pointer-events:none;
}

/* Mobile */
@media (max-width:640px){
  .cds-actions{ flex-wrap:wrap; gap:10px; }
  .cds-btn{ flex:1 1 calc(50% - 10px); text-align:center; }
}

/* WORKSHOP SCHEDULES */
.schedule {
    background-color: #fdfdfd !important;
    color: #0e0e0e
}

.schedule h2 { font-size: 32px !important; font-weight: bold; color: #fff !important; }

.schedule tr.column-setter {
    height: 0;
    border: none
}

.schedule tr.column-setter td,.schedule tr.column-setter th {
    height: 0;
    border-bottom: none
}

.schedule th { background-color: #343a40 !important; }
.schedule tbody th { background-color: #fff !important; color: #000 !important; }

.schedule td,.schedule th {
    border-color: #aaa9a6;
    vertical-align: middle;
    font-size: 11px !important;
}

.schedule thead {
    background-color: #373632;
    color: #fdfdfd
}

.schedule .schedule-item {
    position: relative;
    padding-left: 1rem
}

.schedule .schedule-item:before {
    content: " ";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 5px;
    height: calc(100% - 4px);
    background-color: transparent
}

.schedule .break {
    font-weight: 700;
    font-style: italic
}

.schedule .break:before {
    background-color: #dfdedd
}

.schedule .class:before {
    background-color: #aaa9a6
}

.schedule .audition {
    color: #0e0e0e;
    font-weight: 700
}

.schedule .audition:before {
    background-color: #373632
}

.schedule .show {
    font-weight: 700
}

.schedule .show:before {
    background-color: #e20000
}

.schedule .special-1:before {
    background-color: #ffc107
}

.schedule .special-2:before {
    background-color: #00a1c9
}

.schedule .special-pink:before {
    background-color: #fd5ea9
}

.schedule .special-purple:before {
    background-color: #540b85
}

.schedule .special-orange:before {
    background-color: #ff7d26
}

.schedule .special-green:before {
    background-color: #00af29
}

.schedule .special-red:before {
    background-color: #e20000
}

.schedule .special-lavender:before {
    background-color: #a05df2
}

/* COMPETITION SCHEDULES */
#competition_schedule, #competition_schedule .container { max-width: 100% !important; padding: 0; }
.top-section  { max-width: 1100px; margin: 0 auto 100px; padding: 0; }
.top-section h4 { margin: 0 auto !important; font-size: 20px !important; }
.top-section h4 a, #competition_schedule .top-section h4 a:visited { color: #fff !important; text-decoration: none !important; }
.top-section h4 a:active, #competition_schedule .top-section h4 a:hover { color: #d82028 !important; }
#competition_schedule { max-width: 100% !important; margin: 0 auto !important; }
#comp-schedule-scope .cds-actions { margin: 0 0 25px 0; }

.table_title.is-break,
.table_title.is-awards {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  background-color: #2c57a3;
  color: #fff;
}

.table_title.is-break h3:first-child,
.table_title.is-awards h3:first-child {
  position: absolute;
  left: 0;
  margin: 0;
  line-height: 1.2;          /* prevents vertical clipping */
  top: 50%;                  /* vertically centers */
  transform: translateY(-50%); /* aligns middle of element */
  white-space: nowrap;       /* keeps the time on one block */
}


.table_title.is-break h3:last-child,
.table_title.is-awards h3:last-child {
  margin: 0 auto !important;
  text-align: center !important;
}
.table_title.is-break h3:nth-child(2),
.table_title.is-awards h3:nth-child(2) {
  flex: 1 1 auto !important;
  max-width: none !important;
  width: auto !important;
  text-align: center !important;
}


/* header studios dropdnown */
#dropdown-studios { text-align: right; margin: 10px 0 0; }

.hidden { display: none; }

/* tabs */
section.tabs_wrapper_main { background: #000000 !important; padding: 20px 0 60px !important; max-width: 100% }
section.tabs_wrapper_main .container-outer { max-width: 1100px; margin: 0 auto; padding: 0 15px; } 
section.tabs_wrapper_main .container { max-width: 1100px !important; background: #000000 !important; display: flex; 
column-gap: 15px;
align-items: center;
justify-content: space-between !important; }
section.tabs_wrapper_main a.tablinks {
font-size: 22px;
border: unset;
padding: 0;
line-height: normal;
color: #fff !important;
position: relative;
background: transparent;
font-weight: 400;
text-transform: uppercase;
line-height: 1.4;
text-decoration: none !important;
cursor: pointer;
}
section.tabs_wrapper_main a.tablinks:hover {
color: #d82028 !important;
font-style: italic;
font-weight: 500;
}
section.tabs_wrapper_main .tab {
display: flex !important;
column-gap: 43px;
flex: 1;
flex-wrap: wrap;
row-gap: 15px;
}
section.tabs_wrapper_main a.tablinks:not(:last-child):after {
content: "";
width: 7px;
height: 1px;
background: #fff;
position: absolute;
top: 13px;
right: -24px;
}

/* tab select box css */
section.tabs_wrapper_main .container {
display: flex;
column-gap: 15px;
align-items: center;
max-width: 1100px !important; }

section.tabs_wrapper_main .select-box {
color: #fff;
border: 1.5px solid #fff;
outline: none;
border-radius: 50px;
font-size: 16px;
text-transform: uppercase;
font-weight: 500;
font-style: italic;
padding: 6px 30px 5px 16px;
appearance: none;
background: url(/wp-content/uploads/2025/01/downarrowwhite.png) !important;
background-repeat: no-repeat !important;
background-position: 93% 50% !important;
background-size: 11px !important;
max-width: 215px;
width: 100%;

}
.select-box option {
background: #d82028;
color: #fff;
}
/* tab select box css ends */
/* tabs css end */


/* tabs data */
section.tab_data-main {
background: #fff !important;
padding: 32px 15px 62px;
max-width: 1100px;
margin: 0 auto;
}
section.tab_data-main .container { max-width: 1100px !important; }
section.tab_data-main .container .tabcontent { margin: 15px 0 25px; display: none; }
section.tab_data-main h3.main_heading {
margin: 0;
color: #000000 !important;
font-size: 48px;
line-height: 100% !important;
font-weight: 400;
text-transform: uppercase;
}
section.tab_data-main .table_wrapper {
max-width: 1100px;
margin-inline: auto;
}
section.tab_data-main .table_wrapper h3 {
margin: 0;
font-size: 36px;
color: #fff;
font-weight: 500;
letter-spacing: 0.39px;
color: #000 !important;
}
section.tab_data-main .table_wrapper .table_title {
display: flex;
justify-content: space-between;
column-gap: 10px;
}
section.tab_data-main .table_wrapper .table_title.top_row {
background: #000;
padding: 15px 0 12px 25px;
margin-bottom: 12px;
margin-top: 10px;
}
section.tab_data-main .table_wrapper .table_title.top_row h3 {
font-size: 22px;
font-weight: 500;
letter-spacing: 0.24px;
color: #fff !important;
}
section.tab_data-main .table_wrapper .table_title h4 {
margin: 0 !important; color: #fff !important; line-height: 100% !important;
}
section.tab_data-main .table_wrapper .table_data {
border-top: 1px solid #000;
padding: 10px 0;
}
section.tab_data-main .table_wrapper .table_data h3 {
font-size: 14px;
color: #fff;
letter-spacing: 0.19px;
font-weight: 400;
}
section.tab_data-main .table_wrapper .table_data:last-child {
border-bottom: 1px solid #000;
}
section.tab_data-main .table_wrapper .box_wrapper>h4 {
margin-top: 64px;
}
section.tab_data-main .table_wrapper .box_wrapper>h4 {
margin-top: 64px;
}
section.tab_data-main .table_wrapper .box_wrapper:first-child h4 {
margin-top: 24px;
}
section.tab_data-main .table_wrapper .table_title h3 {
flex: 1;
}
section.tab_data-main .table_wrapper .table_title h3:not(:first-child) {
text-align: left;
}
section.tab_data-main .btn_wrapper {
text-align: end;
padding-top: 64px;
}
section.tab_data-main .btn_wrapper a {
font-size: 16px;
text-transform: uppercase;
background: #000;
font-weight: 500;
font-style: italic;
padding: 9px 43px;
color: #fff;
border-radius: 50px;
transition: all 0.3s ease-in-out;
}
section.tab_data-main .btn_wrapper a:hover{
background: #d82028;
color: #fff;
}

section.tab_data-main h3 { text-transform: none !important; }
section.tab_data-main .table_wrapper .table_title.table_data.table_heading h3 {
font-weight: 500;
font-size: 22px;
font-style: italic;
text-transform: uppercase !important;
}
section.tab_data-main .table_wrapper .table_title.table_data.table_heading {
margin-top: -12px;
}

section.tabs_wrapper_main a.tablinks.active {
text-decoration: underline !important;
color: #d82028 !important;
text-underline-offset: 10px;
font-style: italic;
}

/* display the all table by default */
section.tab_data-main #all { display: block; }

/* tabs data ends */
select.select-box.mobile {
display: none;
}

/* single cities - new 7/2025 */
.event-over-display { display: none !important; }
.city-message-display { display: none !important; }
.city-message-display p, .city-message-display span { color: #fff !important; margin: 0 !important; }

.hotel-notes { display: none !important; }
.hotel-notes, .hotel-notes p { text-align: center !important; }

#hotel-sold-out { display: none; }

#city-hero {background-color: #fff;
    margin: 0 auto;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
}
#city-hero .fl-row-content-wrap { background-size: cover;
    padding: 350px 0 50px;
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50%; }

#city-hero h1 {
    color: #fff;
    font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
    font-size: 100px !important;
    font-weight: 400;
    line-height: 1em;
    letter-spacing: 1pxx;
    margin: 0;
    text-transform: uppercase;
}
#city-hero h3 {
    color: #fff;
    font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
    font-size: 40px !important;
    font-weight: 400;
    line-height: 1em;
    margin: 0;
}
#city-hero h4 {
    color: #fff;
    font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
    font-size: 24px !important;
    font-weight: 500;
    font-style: italic;
    line-height: 1em;
    margin: 10px 0 0;
}
#city-hero a.fl-button, #city-hero a.fl-button:visited { border-radius: 0; background: #d82028; color: #fff !important; padding: 15px 47px; border: 0; }
#city-hero a.fl-button:active, #city-hero a.fl-button:hover { background: #000; color: #fff !important; }
#city-hero a.fl-button span { color: #fff !important; text-transform: uppercase; }

.same-venue-hotel .fl-col-group, .different-venue-hotel .fl-col-group { max-width: 1100px; margin: auto; }
.same-venue-hotel .fl-col-group:first-child, .different-venue-hotel .fl-col-group:first-child { max-width: 100%; }

.same-venue-hotel h2, .different-venue-hotel h2 { padding: 25px 0; background: #d82028 !important; margin-bottom: 40px !important; }
.same-venue-hotel h4, .different-venue-hotel h4 { font-size: 22px !important; }

.same-venue-hotel .flex-column a.fl-button, .different-venue-hotel .flex-column a.fl-button { display: inline-block; min-width: 150px; padding: 8px; }
.same-venue-hotel .flex-column, .different-venue-hotel .flex-column { width: 100%; }
.different-venue-hotel .hotel-venue-contact { min-height: 150px; }

.flex-column .fl-col-content { align-items: space-between; justify-content: center; flex-direction: row; }
.flex-column .fl-col-content .fl-module { flex: 1; }

.button-white a.fl-button { background: #fff; text-transform: uppercase; border-radius: 0; border: 0; }
.button-white a.fl-button:active, .button-white a.fl-button:hover { background: #777; }
.button-white a.fl-button span, .button-white a.fl-button:visited span { color: #777 !important; }
.button-white a.fl-button:active span, .button-white a.fl-button:hover span { color: #fff !important; }

.button-red a.fl-button, .button-red a.fl-button:visited { background: #e60000; text-transform: uppercase; border-radius: 0; border: 0; color: #fff !important; }
.button-red a.fl-button:active, .button-red a.fl-button:hover { background: #777; }
.button-red a.fl-button span { color: #fff !important; text-transform: uppercase; }

.button-black a.fl-button, .button-black a.fl-button:visited { background: #000; text-transform: uppercase; border-radius: 0; border: 0; color: #fff !important; }
.button-black a.fl-button:active, .button-black a.fl-button:hover { background: #777; }
.button-black a.fl-button span { color: #fff !important; text-transform: uppercase; }

#button-register a { display: block !important; padding: 20px; font-size: 24px; }

#city-buttons #button-webcast .uabb-creative-button {
  display: flex !important; flex-direction: column !important; flex-wrap: wrap;
  align-items: center !important; background: #000; border: 0; border-radius: 0; padding: 20px 0; color: #fff !important;
}
#city-buttons #button-webcast .uabb-creative-button:hover { color: #ccc !important; background: #222; }

#city-buttons #button-webcast .uabb-creative-button .uabb-button-icon {
  order: 1 !important; margin: 0 auto 15px !important;
}
#city-buttons #button-webcast .uabb-creative-button .uabb-button-text {
  order: 2 !important;
}

#city-buttons .button-regular .uabb-creative-button {
  display: flex !important; flex-direction: column !important; flex-wrap: wrap;
  align-items: center !important; background: #6e6d68; border: 0; border-radius: 0; padding: 20px 0; color: #fff !important;
}
#city-buttons .button-regular.uabb-creative-button:hover { color: #ccc !important; }

#city-buttons .button-regular .uabb-creative-button .uabb-button-icon {
  order: 1 !important; margin: 0 auto 15px !important;
}
#city-buttons .button-regular .uabb-creative-button .uabb-button-text {
  order: 2 !important;
}
#city-buttons .button-regular .uabb-creative-button span.btn-supporting-text { display: block; margin: 8px 0 0;}

.event-footer-link a, .event-footer-link a:visited { background: #fff !important; }
.event-footer-link a:active, .event-footer-link a:hover { background: #000 !important; }
.event-footer-link a span, .event-footer-link a:visited span, .event-footer-link a i, .event-footer-link a:visited i { color: #000 !important; }
.event-footer-link a:active span, .event-footer-link a:hover span, .event-footer-link a:active i, .event-footer-link a:hover i { color: #fff !important; }

/* ultimate bb tabs */
a.uabb-tab-link { color: #000 !important; }

/* single cities */
#single-event .main-banner-section {
background-color: #fff;
max-width: 1100px;
padding: 144px 0 56px;
margin: 0 auto;
position: relative;
background-size: cover;
background-repeat: no-repeat;
background: linear-gradient(180deg, rgba(45,66,159, 1) 0%, rgba(216,210,203, 0.5) 100%) !important;

}
#single-event .main-banner-section .container {
max-width: 1066px !important;
margin: 0 auto;
padding: 0;
position: relative;
z-index: 2;
}
#single-event .main-banner-section .bg-image {
background-size: cover;
    top: 0;
    -webkit-filter: brightness(1) grayscale(20%);
    filter: brightness(1) grayscale(20%);
    mix-blend-mode: multiply;
    z-index: 2;
    opacity: .7;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50%;
}
.main-banner-section h1 {
color: #fff;
font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
font-size: 100px !important;
font-weight: 400;
line-height: 1em;
letter-spacing: 1pxx;
margin: 0;
text-transform: uppercase;
}
.main-banner-section h3 {
color: #fff;
font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
font-size: 40px !important;
font-weight: 400;
line-height: 1em;
margin: 0;
}
.main-banner-section h4 {
color: #fff;
font-family: "Neue Haas Grotesk Display Pro", Sans-serif;
font-size: 24px !important;
font-weight: 500;
font-style: italic;
line-height: 1em;
margin: 0;
}
.main-banner-section .button-banner {
margin: 80px 0 0 0;
text-align: end;
}
.main-banner-section .button-banner a.banner-custom-single {
/*  font-family: "Neue Haas Grotesk Display Pro", Sans-serif; */
font-size: 16px;
font-weight: 500;
font-style: italic;
line-height: 14px;
fill: #000000;
color: #fff;
background-color: #d82028;
padding: 12px 48px 11px 48px;
display: inline-block;
transition: all 0.3s ease-in-out;
}
.main-banner-section:after {
content: "";
background: transparent !important;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 1;
}
.main-banner-section .button-banner a.banner-custom-single:hover {
background: #fff;
color: #fff;
}
.main-single-date-section { background-color: #000; }
.main-single-date-section .container {
max-width: 1070px;
margin: 0 auto;
padding: 40px 15px 24px;
background-color: #000;
}
.main-single-date-section .container a, .main-single-date-section .container a:visited { border-color: #fff; color: #fff; }
.main-single-date-section .container a:active, .main-single-date-section .container a:hover { border-color: #d82028; color: #fff; }

.second-top-buttons-wrapper { margin: 0; }

.flex-wrapper { display: flex; flex-direction: row; flex-wrap: wrap; justify-content: space-between; }
}
.flex-wrapper-centered { display: flex !important; flex-direction: row; flex-wrap: wrap; justify-content: center; }
.flex-wrapper-centered .btn_wrpper_common { display: flex; justify-content: center; }
.flex-wrapper-centered .btn_wrpper_common .common_btn_wrapper { flex: 1; margin: 0 10px; }
.flex-wrapper-centered .btn_wrpper_common a {
color: #fff !important;
border-radius: 0;
padding: 6px 20px;
/* font-family: 'Neue Haas Grotesk Display Pro'; */
font-style: italic;
display: inline-flex;
transition: all 0.3s ease-in-out;
border: 1px solid #fff !important;
text-decoration: none !important;
height: 100%;
align-items: center;
justify-content: center;
min-width: 250px;
width: auto;
}
.flex-wrapper-centered .btn_wrpper_common a:hover{
background: #d82028;
color: #fff !important;
border-color: #d82028;
}

.bg-tan-dark { background-color: #9b8d7d; }
.row-padded { padding: 20px 0; }
.row-narrow { max-width: 800px; margin: 0 auto; }
.row-bordered { border-top: 1px solid #999 !important; border-bottom: 1px solid #fff !important; }

.common_flex_wrapper {
flex-wrap: wrap;
display: flex;
justify-content: space-between;
margin-bottom: 0;
}
.common_flex_wrapper .btn_wrpper_common {
display: flex;
column-gap: 16px;
align-items: stretch;
justify-content: flex-start;
}
.common_flex_wrapper .second-right-side-content {
width: 37%;
}
.common_flex_wrapper .second-left-side-content {
width: 63%;
padding-right: 144px;
}
.common_flex_wrapper .btn_wrpper_common a {
color: #fff !important;
border-radius: 0;
padding: 6px 20px;
/* font-family: 'Neue Haas Grotesk Display Pro'; */
font-style: italic;
display: inline-flex;
transition: all 0.3s ease-in-out;
border: 1px solid #fff !important;
text-decoration: none !important;
height: 100%;
align-items: center;
justify-content: center;
}
.common_flex_wrapper .btn_wrpper_common a:hover{
background: #d82028;
color: #fff !important;
border-color: #d82028;
}


.common_flex_wrapper .second-hotel-vanue {
    font-size: 36px;
    color: #fff;
    /* font-family: 'Neue Haas Grotesk Display Pro'; */
    margin: 26px 0 8px;
}
.common_flex_wrapper .second-hotel-name p {
    margin: 0;
    font-size: 22px;
    color: #fff;
    /* font-family: 'Neue Haas Grotesk Display Pro'; */
    font-weight: 500;
    font-style: italic;
    margin-bottom: 20px;
}
.common_flex_wrapper .second-hotel-address p, .common_flex_wrapper .second-hotel-room-rate p {
    /* font-family: 'Neue Haas Grotesk Display Pro'; */
    font-size: 22px;
    color: #fff;
    font-weight: 400;
    letter-spacing: 1.1px;
    line-height: 25px;
    margin-bottom: 15px;
}
.common_flex_wrapper .second-hotel-room-rate p {
    margin-bottom: 24px;
}
.common_flex_wrapper .hotel-image {
height: 100%;
}

.common_flex_wrapper .hotel-image img {
height: 100%;
object-fit: cover;
display: block;
}
.common_flex_wrapper .hotel-image.mob-show { display: none; }

/* webcast page */
.container-outer-webcast { display: flex; justify-content: space-between; align-items: baseline; }
.container-outer-webcast h3 { margin: 0 !important; }
.container-outer-webcast .location a { text-decoration: none !important; font-weight: bold; }
.container-outer-webcast .date { font-size: 20px; }

.container-buttons a.button-blue { background-color: #d82028; border: none; font-style: normal; padding: 12px 24px; min-width: 250px; text-align: center; line-height: 100%; text-decoration: none !important; color: #fff !important; margin: 0 8px !important;}
.container-buttons a.button-blue:hover { background-color: #d82028; }
.container-buttons a.button-blue:last-child { margin: 0 0 0 8px !important; }

/* tables - tablePress */
.equal-widths-quarter th { width: 25%; }

/* mobile */
@media screen and (max-width: 1250px) {
  /* faculty page */
  .faculty-featured .name { font-size: 24px !important; }
}
@media screen and (max-width: 1200px) {
    .site-header .genesis-nav-menu a { padding: 5px !important; }
    .site-header .genesis-nav-menu li a.sf-with-ul { padding-right: 18px !important; }
}
    .container { margin: 0 auto !important; max-width: 100% !important; }
}
@media screen and (max-width: 1140px) {
    /* header */
    .header-image .title-area,.header-image .site-title,.header-image .site-title a { height: 30px !important; }
    .full-width-content .site-header .wrap { max-width: 100% !important; width: 100% !important; padding: 0 25px !important; }
    /* main nav */
    .site-header .genesis-nav-menu span { font-size: 11px !important; }
    /* main content */
    main.content { border-right: none; }
    /* inner heroes */
    .inner-hero h1 span { font-size: 10vw !important; }
    /* hero - main banner section on single cities */
    .main-banner-section h1 { font-size: 10vw !important; }
    /* sidebar */
    aside.sidebar-primary { display: none !important; }
    /* footer */
    #footer-signup { min-height: 68px; }
    #footer-signup-container { padding: 104px 0 60px; }
    #footer-signup-container h2 { font-size: 16px; }
    #footer-signup, #ez-fat-footer-container { padding: 15px 0; max-width: 90% !important; }
    #footer-desktop .fl-row { max-width: 90%; }
    #footer_bottom_section .container { padding: 15px 0 !important; max-width: 90% !important; }
    /* faculty detail page */
    .single-faculty .site-inner { margin-top: 70px; }

    /* single city pages - new */
    #city-hero h1 {
        font-size: 80px !important;
    }
    #city-hero h3 {
        font-size: 36px !important;
    }
}

@media screen and (max-width: 1040px) {
    /* mobile menu */
    .rmp_menu_trigger { background: transparent !important; border-radius: 2px; top: 60px !important; }
    .rmp-menu-title { padding: 25px 0 0 !important; }
    .rmp-menu-title-image { text-align: left !important; margin: 0 0 20px !important; }
    .rmp-menu-subarrow { margin: 10px 0 0; font-size: 18px; }

    .rmp-submenu .rmp-menu-item-link { font-size: 18px !important; }
    .rmp-menu-item { position: relative !important; }

    .rmp-submenu .rmp-menu-item-link { font-size: 18px !important; }
    .rmp-menu-item { position: relative !important; }

    /* main menu */
    #menu-main-menu .desktop-only { display: none; }
    /* mobile only */
    #menu-main-menu .mobile-only { display: block; }

    /* faculty page */
    .faculty-featured .bio { display: block; min-height: 250px !important; }
    .faculty-teachers .image img { width: 100%; height: auto; }
    /* home tour */
    #home-tour .swiper-container span { font-size: 20px; }
    #home-tour .swiper-container span.location { font-size: 16px !important; padding: 4px !important; }
    #home-tour .swiper-container span.date { font-size: 12px !important; margin-top: 15px !important; }

    /* single cities */
    .common_flex_wrapper .btn_wrpper_common {
    justify-content: center;
    }
}

@media screen and (max-width: 1024px) {
    /* header */
    .header-image .site-header .wrap .title-area { margin: 24px 0; }

    /* header nav menu */
    .header-widget-area #menu-main-menu > li { display: none !important; }
    .header-widget-area #menu-main-menu li.show-always { display: inline-block !important; }
    .header-widget-area #menu-main-menu li.show-always a span { color: #d82028 !important; font-weight: bold; }
    .header-widget-area { padding: 0 40px 0 !important; }
    
    /* tour dates */
    #tour_dates .container .tour-date-first-content-wrapper h2 a {
    font-size: 28px;
    }
    #tour_dates .tour-date-event-location-button { font-size: 18px !important;
    }
    .tour-date-dates-post-buttons-wrapper-desktop .tour-date-buttons-wrappers-desktop a, .tour-date-dates-post-buttons-wrapper-desktop .tour-date-buttons-wrappers-desktop a, #tour_dates .container .tour-date-buttons-wrapper .desktop_register_btn a {
        font-size: 14px !important;
        padding: 6px 20px; text-align: center;
    }
    /* single city pages */
    .single-city .second-right-side-content { display: none; }
    .single-city .second-wrapper.common_flex_wrapper { display: block; }
    .single-city .second-left-side-content { width: 100%; margin: 0 auto; padding: 0; text-align: center; }
    .common_flex_wrapper .hotel-image.mob-show, .common_flex_wrapper .hotel-image.mob-show img { display: block; text-align: center; margin: 0 auto 10px;  }
    
    /* table of contents - on info pages */
    .ez-toc-open-icon { top: auto; bottom: 0; }
}
@media screen and (max-width: 989px) {
     /* main menu */
     .menu-primary a { padding: 17px 6px; }
     /* titles */
     .pp-heading-content .pp-heading .heading-title { line-height: 120%; font-size: 30px; }
     h1 { font-size: 30px; }
     h2 { font-size: 26px; }
     h3 { font-size: 24px; }
     h4 { font-size: 20px; }
     h5 { font-size: 18px; }

     .expanded-text h2 { font-size: 30px !important; }

     /* body fonts */
     .dynamik-page-builder .site-inner p, .dynamik-page-builder .site-inner ul li, .dynamik-page-builder .site-inner ol li, .entry-content p, .entry-content ul li, .entry-content ol li, .entry-pagination { font-size: 16px; }

    /* faculty page */
    .faculty-teachers .col-md-6 { margin: 0 0 30px }
    .faculty-teachers .bio { min-height: 105px !important; }
    .faculty-teachers .link a { padding: 4px 10px; font-size: 12px; line-height: 14px; text-align: center; }

    /* single faculty pages */
    .faculty-teachers .name, .faculty-teachers .name:visited { font-size: 18px !important; }
    .faculty-teachers .title { font-size: 14px !important; }

    /* footer */
    #ez-fat-footer-container img { max-width: 200px !important; height: auto; }
    #ez-fat-footer-container .widget_nav_menu li a { font-size: 16px; }
    #footer_bottom_section .container { font-size: 16px; }
}
@media screen and (max-width: 900px) {
    /* inner hero */
    .inner-hero .fl-row-content { }
    /* hero top section */
    .top-section { margin-bottom: 20px; }
    /* tablinks in hero */
    section.tabs_wrapper_main a.tablinks:not(:last-child):after { top: 10px; }
    /* home hero title */
    .home-hero h1, .home-hero h3 { font-size: 34px !important; }
    /* home opening header */
    .home-opening-header h2.heading-title { font-size: 40px !important; }
    /* top menu and primary menu */
    nav.nav-secondary, nav.nav-primary .wrap { display: none; }
    nav.nav-primary { line-height: 1px; padding: 0; margin: 0; border-top: solid 1px #d21f36; }
    /* opening text */
    .opening-text, .opening-text p { font-size: 18px; }
    /* tour dates page */
    .event-rows .event-dates { font-size: 24px; }

    /* TOUR DATE PAGES - NEXT SEASON USING TOOLSET */
    .event-block .event-title { font-size: 24px !important; }
    .event-block .event-dates { font-size: 16px !important; }

    /* tables from stats api */
    section.tab_data-main .table_wrapper .table_data h3 { font-size: 14px !important; }

     /* titles */
     .dynamik-page-builder .site-inner h3, .content .post h3, .content .page h3, .content .entry-content h3 { font-size: 20px !important; }

    /* cta */
    .cta h2.heading-title { font-size: 24px !important; }

    /* footer */
    #footer-signup h2 { font-size: 14px !important; }
    #footer-desktop, #footer-desktop a, #footer-desktop p { font-size: 14px !important; }
    #footer-desktop .fl-col.col-last .fl-button-wrap { text-align: right; margin: 0 43px 20px 0; }
    #footer-desktop .fl-col.col-last img { max-width: 23px; margin: 0 3.5px; }

    /* home infoboxes */
    .home .infoboxes h3 { font-size: 30px !important; }

    /* headings */
    h1 { font-size: 32px !important; }
    h2 { font-size: 26px !important; }
    h3 { font-size: 20px !important; }
    h4 { font-size: 18px !important; }
    h5 { font-size: 16px !important; }

    /* faculty page */
    .faculty-featured .bio { display: block; min-height: 310px !important; }

    /* mobile only elements */
    .mobile-full-width { display: block !important; float: none !important; clear: both !important; }

    /* tour dates container */
    #posts-container .container { display: block; }
    /* dates title */
    .dates-title h2 { font-size: 36px !important; }

    /* next date button */
    .next_date_button { text-align: left !important; }

    /* tour dates - mobile only */
    .tour-date-event-location-button-mobile { display: inline-block; }
    #tour_dates .container .tour-date-first-content-wrapper .tour-date-event-date-button p {
        font-size: 18px !important; margin-top: 10px;
    }
    .desktop_register_btn, .tour-date-buttons-wrapper { display: none !important; }
    .tour-date-buttons-wrapper.mobile_register_btn { display: inline-block !important; }
    #tour_dates .mobile_register_btn { display: inline-block !important; }

    /* single cities */
    .single-city .button-banner { text-align: left; }

    /* single city pages - new */
    #city-hero h1 {
        font-size: 60px !important;
    }
    #city-hero h3 {
        font-size: 30px !important;
    }
}

@media screen and (max-width: 850px) {
    /* faculty page */
    .faculty-featured .bio {min-height: 290px !important; }

}
@media screen and (max-width: 768px) {
    /* header */
    .header-image .site-header .wrap .title-area { margin: 24px 0 !important }
    .header-image .site-title { margin: 0 !important; }

    /* logo */
    .site-header .title-area { text-align: left; width: 112px !important; height: 30px !important; }
    
    /* header widgets */
    .site-header .widget-area { width: 84%; padding: 0 40px 0 !important; }

    /* columns */
     .fl-col-small:not(.fl-col-small-full-width) { max-width: 95% !important; }

    /* columns - non-breaking */
    .teacher-details .fl-col-group { display: flex; justify-content: space-between; }
    .teacher-details .fl-col-small { max-width: 50% !important; flex: 1; }

    /* fullwidth columns */
    .mobile-fullwidth .fl-col-small:not(.fl-col-small-full-width) { max-width: 98% !important; width: 100%; }

    /* tour dates page */
    .event-rows-holder, .event-rows { display: block !important; }
    .event-rows-holder .col-md-5, .event-rows-holder .col-md-4, .event-rows-holder .col-md-3 { display: inline-block !important; }
    .event-rows-holder .col-md-5, .event-rows-holder .col-md-4 { width: 66% !important; }
    .event-rows-holder .col-md-3 { width: 33% !important; float: right; }
    .event-rows .event-dates { font-size: 18px; line-height: 120% !important; }
    .event-rows .event-link a { font-size: 14px; }

    /* competition schedule page */
    #dropdown-studios { text-align: left; margin: 20px 0 0; }

    /* font sizes */
    .font-medium, .font-medium p { font-size: 14px !important; line-height: 120% !important; }

    /* alignment items */
    .align-center-mob { text-align: center !important; }

    /* webcast page */
    .container-buttons a.button-blue { display: inline-block; clear: both; }
    .container-buttons a.button-blue:last-child { margin: 15px 8px 0 !important; }

    /* faculty page */
    .faculty-featured { max-width: 550px !important; margin: 0 auto; }
    .faculty-featured .bio {min-height: inherit !important; }
    .faculty-featured .col-md-6 { margin-bottom: 20px }
    .faculty-teachers .col-md-6 { width: 50%; }
    .faculty-teachers p { font-size: 14px; }

    /* desktop only */
    .large-display { display: none !important; }

    /* mobile only */
    .tablet-display { display: block !important; }

    /* single faculty pages */
    .faculty-teachers .col-md-4 { width: 33.3333% !important; }   
    .single-faculty .teacher-details, .single-faculty .teacher-bio, .single-faculty .content-separator { max-width: 80% !important; margin: 0 auto; }
    .single-faculty .content-separator { margin: 0 auto 15px; }
    .single-faculty .teacher-bio .fl-col-small { margin: 0 auto; }
    .content-separator p { display: none !important; }

    /* footer */
    #footer-desktop { display: none; }
    #footer-signup { display: flex; max-width: 90% !important; flex: 1; }
    #footer-signup .title, #footer-signup .form-holder { flex: 1; }
    #footer-signup-container { padding: 50px 0 30px; }
    #footer-signup-container h2 { font-size: 16px !important; }
    #footer-signup .form-holder { max-width: 300px; }
    #ez-fat-footer-container-wrap, #footer_bottom_section { display: none; }

    /* mobile footer */
    #footer-mobile { display: block !important; background: #d82028; }
    #footer-mobile .fl-row-content-wrap { padding: 0; max-width: 90%; margin: 20px auto; }
    #footer-mobile a, #footer-mobile a:visited { color: #fff; }
    #footer-mobile p { color: #fff; }
    #footer-mobile .fl-col-group { display: flex; }
    #footer-mobile .fl-col-small { flex: 1; }
    #footer-mobile .fl-module-content { margin: 0; }
    #footer-mobile .pp-social-icons { justify-content: center; text-align: center; }
    #footer-mobile .pp-social-icons span { text-align: center !important; }
    #footer-mobile .pp-social-icons span a { justify-content: center; text-align: center; display: inline-block; }
    #footer-mobile .footer-logo img { max-width: 150px; }
    #footer-mobile .footer-danceone p { text-align: center !important; }
    #footer-mobile .footer-danceone img { max-width: 200px; display: block; clear: both; margin: 5px auto 0; text-align: center; }
    #footer-mobile a.fl-button { border-radius: 0; font-weight: bold; font-style: italic; text-transform: uppercase; }
    #footer-mobile .footer-menu .fl-col { width: 100% !important; }
    #footer-mobile .menu { display: flex; justify-content: space-between; align-items: center; }
    #footer-mobile .menu li { flex: 1 !important; text-align: center; }
    #footer-mobile .menu li:first-child { text-align: left !important; }
    #footer-mobile .menu li:last-child { text-align: right !important; }
    #footer-mobile .menu li a { text-transform: uppercase; font-style: italic; }

    /* single city pages - new */
    #city-hero h1 {
        font-size: 48px !important;
    }
    #city-hero h3 {
        font-size: 26px !important;
    }
    .same-venue-hotel .fl-col-small:not(.fl-col-small-full-width, .different-venue-hotel .fl-col-small { max-width: 100% !important; width: 100% !important; }
    .different-venue-hotel .hotel-venue-contact { min-height: auto !important; }
}
@media only screen and (max-width: 641px) {
    .shop-signup input:not([type=radio]):not([type=checkbox]):not([type=image]):not([type=file]) {
        line-height: 100% !important;
        min-height: inherit !important;
        font-size: 10px !important;
    }
    .shop-signup #input_12_1  { font-size: 14px !important; }
}
@media screen and (max-width: 600px) {
    /* header */
    /* logo */
    .site-header .title-area { text-align: left; width: 112px !important; }
    /* header widgets */
    .site-header .widget-area { float: right; width: 84% !important; padding: 20px 2.5% 0 0 }
    .home-hero h1, .home-hero h3 { font-size: 26px !important; }

    /* home tour */
    #home-tour span.swiper-content-holder { top: 20px; }
    #home-tour .swiper-slide-active span.swiper-content-holder { top: 20px; left: 20px !important; text-align: left; }
    #home-tour .swiper-container span { font-size: 10px !important; }
    #home-tour .swiper-container span.date { top: 10px; font-size: 10px !important; }
    #home-tour .swiper-container span.location { font-size: 14px !important;  }

    /* home opening header */
    .home-opening-header h2.heading-title { font-size: 40px !important; }

    /* header widgets */
    .site-header .widget-area { float: right; width: 40%; padding: 20px 2.5% 0 0 }

     /* titles */
     .pp-heading-content .pp-heading .heading-title { line-height: 120%; font-size: 20px; }
     h1 { font-size: 24px; }
     h2 { font-size: 22px; }
     h3 { font-size: 20px; }
     h4 { font-size: 18px; }
     h5 { font-size: 16px; }

     /* tour dates page */
     .event-rows .event-link a { font-size: 10px; padding: 4px 10px; }

     /* faculty page */
    .faculty-teachers { display: block; }
    .faculty-teachers .col-md-6 { width: 100%; }
    .faculty-teachers .title { font-size: 14px; }
    .faculty-teachers .name { font-size: 18px; margin: 0; }
    .faculty-teachers .instagram-handle, .faculty-teachers .instagram-handle:visited { font-size: 14px; }
    .faculty-teachers .bio { min-height: 113px !important; }
    .faculty-teachers p { font-size: 14px; line-height: 120%; }
    .faculty-teachers .image { height: 350px; overflow: hidden; }

    /* faculty page - single faculty */
    .single-faculty .teacher-details h1 { font-size: 26px !important; }
    .single-faculty .teacher-details .instagram-handle { font-size: 16px !important; }

     /* footer */
     #footer-signup form { padding: 10px 0 5px; }
     #footer-signup .title { margin: 0 15px 0 0; }
     #footer-signup .gform_wrapper { padding: 0;  }
     #footer-signup input.medium { border: none; text-align: left; font-size: 14px !important; line-height: 110%; }
     #footer-signup input.medium
     #footer-signup .gform_footer input { margin: 0 !important; max-height: 20px; }

    /* tour dates */
    #tour_dates .container .tour-date-first-content-wrapper h2 a {
    font-size: 24px;
    }
    #tour_dates .tour-date-event-location-button { font-size: 14px !important;
    }
    .tour-date-event-date-button p { margin: 10px 0 0 !important; }
    .tour-date-dates-post-buttons-wrapper-desktop .tour-date-buttons-wrappers-desktop a, .tour-date-dates-post-buttons-wrapper-desktop .tour-date-buttons-wrappers-desktop a, #tour_dates .container .tour-date-buttons-wrapper .desktop_register_btn a {
        font-size: 12px !important;
        padding: 6px 20px; text-align: center;
    }

    /* TOUR DATE PAGES - NEXT SEASON USING TOOLSET */
    .events-list {
    /* set to 1 column for mobile */
    column-count: 1;
    column-gap: 0; /* space between columns */
    }

    /* single cities */
    .single-city .common_btn_wrapper, .single-city .btn_wrpper_common { font-size: 12px; }
    #single-event .main-banner-section {
    padding: 60px 20px 60px;
    }

}

@media screen and (max-width: 480px) {
    /* inner hero */
    .inner-hero h1 span { font-size: 40px !important; }
    /* logo */
    .site-header .title-area { text-align: left; width: 112px !important; }
    /* header widgets */
    .site-header .widget-area { float: right; width: 84%; padding: 20px 2.5% 0 0 }

    /* home tour */
    #home-tour .swiper-container { padding: 0 !important; }
    #home-tour .swiper-slide-active { transform: scale(1.6); }
    #home-tour .swiper-container span { font-size: 10px !important; }
    #home-tour .swiper-container span.location { font-size: 10px !important; padding: 0px !important; }
#home-tour .swiper-container span.date { font-size: 10px !important; margin-top: 15px !important; }

    #home-tour .swiper-slide-active span.swiper-content-holder { top: 15px; left: 10px !important; text-align: left; }
    #home-tour .swiper-container span { font-size: 10px !important; }
    #home-tour .swiper-container span.location { font-size: 10px !important; }
    #home-tour .swiper-slide-active span.location { font-size: 10px !important; }

    /* desktop only */
    .desktop-display { display: none; }
    /* mobile only */
    .mobile-display { display: block; }

    /* tour dates page */
    .event-rows-holder .col-md-5, .event-rows-holder .col-md-4 { width: 60% !important; }
    .event-rows-holder .col-md-3 { width: 40% !important; float: right; }
    .event-rows .event-location .event-title { font-size: 14px; }
    .event-rows .event-dates { font-size: 16px; }
    .event-rows .event-location .event-venue {  font-size: 12px; line-height: 14px !important; }
    .event-rows .event-link a { font-size: 10px; }

    /* faculty page */
    .faculty-teachers .image { height: 300px; overflow: hidden; }
    .faculty-featured .title { font-size: 11px !important; }
    .faculty-teachers .bio { min-height: 160px !important; }

    /* events detail page */
    #workshop-features h6 { font-size: 14px !important }

    /* shop signup form */
    .shop-signup form { display: block !important; }
    .shop-signup .gform_body { margin: 0 0 15px 0; }
    .shop-signup .gform_footer { display: block !important; text-align: center; float: none; margin: 0 auto; }

    /* main nav */
    .site-header .genesis-nav-menu li a.sf-with-ul { padding-right: 25px !important; }

    /* workshop schedules */
    .schedule .schedule-item:before {
    width: 3px;
}

    .schedule td,.schedule th {
    font-size: 9px !important;
}
    /* single city pages - new */
    #city-hero h1 {
        font-size: 40px !important;
    }
    #city-hero h3 {
        font-size: 22px !important;
    }
}
/* ===== Merged styles on 2025-09-14T16:16:24 ===== */
/* === Added: Tabs, Schedule Data, and City Page CTAs (2025-09) === */

/* tabs select box css */
section.tabs_wrapper_main .select-box {
  color: #000;
  border: 1.5px solid #000;
  outline: none;
  border-radius: 50px;
  font-size: 16px;
  text-transform: uppercase;
  font-weight: 500;
  font-style: italic;
  padding: 6px 30px 5px 16px;
  appearance: none;
  background: url(/wp-content/uploads/2025/01/downarrowblue.png) !important;
  background-repeat: no-repeat !important;
  background-position: 93% 50% !important;
  background-size: 11px !important;
  max-width: 215px;
  width: 100%;
  margin: 0 15px;
}
section.tabs_wrapper_main .select-box:last-child { margin: 0 0 0 15px; }
section.tabs_wrapper_main .select-box:hover {
  background: #e60000 url(/wp-content/uploads/2025/01/downarrowwhite.png) !important;
  color: #fff;
  background-repeat: no-repeat !important;
  background-position: 93% 50% !important;
  background-size: 11px !important;
}

/* tabs data */
#competition_schedule p:first-child { display: none; }

section.tab_data-main {
  background: #fff;
  padding: 32px 15px 62px;
  max-width: 1100px;
  margin: 0 auto;
}
section.tab_data-main input {
  width: 100%;
  padding: 15px 0;
  font-size: 22px;
  margin: 0 0 20px;
  text-align: center;
}
section.tab_data-main .schedule-search__meta { font-size: 16px; margin: 8px 0 0; }

.table_title h3:first-child {
  flex: 0 0 70px;
  max-width: 65px;
  text-align: left;
  padding: 0 0 0 5px;
}
.table_title h3:nth-child(2) {
  flex: 0 0 60px;
  max-width: 60px;
  text-align: center;
}
.table_title h3:nth-child(6) {
  flex: 0 0 40px;
  max-width: 80px;
  text-align: center;
}
.table_title.is-award, .table_title.is-break { background: #d82028 !important; }
.table_title.is-break h3:nth-child(1) { color: #fff !important; }
.table_title.is-break h3:nth-child(2) {
  text-align: center;
  flex: 0 0 auto;
  max-width: 100%;
  font-weight: bold !important;
  color: #fff !important;
}

section.tab_data-main h3.main_heading {
  margin: 0;
  color: #000000;
  font-size: 48px;
  line-height: 100% !important;
  font-weight: 400;
  text-transform: uppercase;
  text-align: center;
}

section.tab_data-main .table_wrapper .table_title {
  display: flex;
  align-items: center;
  text-align: center;
  column-gap: 10px;
}
/* Center the # (2nd col) and Room (6th col) */
.table_title.table_data h3:nth-child(2),
.table_title.table_data h3:nth-child(6),
.table_title.table_heading h3:nth-child(2),
.table_title.table_heading h3:nth-child(6) {
  text-align: center !important;
  width: 60px !important;
}
/* single cities - new 7/2025 */
.city-page-ctas { display: flex; flex-direction: row; justify-content: space-between; }
.city-page-ctas .link-holder { flex: 1; }
.city-page-ctas .link-holder:first-child { margin: 0 15px 0 0; }
.city-page-ctas .link-holder:last-child { margin: 0 0 0 15px; }
.city-page-ctas.webcast .link-holder { margin: 0; }
.city-page-ctas.webcast a, .city-page-ctas.webcast a:visited { background: #000; }
.city-page-ctas i { display: block; font-size: 1.3em; margin: 0 0 15px; }
.city-page-ctas a, .city-page-ctas a:visited {
  background: #fff; width: 100%; display: block; text-transform: uppercase;
  font-size: 16px; line-height: 18px; padding: 20px 0;
}
.city-page-ctas a:active, .city-page-ctas a:hover { background: #000; color: #fff !important; }
.city-page-ctas a.is-disabled { pointer-events: none; opacity: 0.5; cursor: not-allowed; }
.city-page-ctas span { text-transform: none; }

.event-over-display { display: none !important; }
.city-message-display { display: none !important; }
.city-message-display p, .city-message-display span { color: #fff !important; margin: 0 !important; }

@media screen and (max-width: 768px) {
  section.tab_data-main .table_wrapper .table_title { column-gap: 5px; }
  section.tab_data-main .table_wrapper .table_data h3 { font-size: 11px !important; }
  .table_title h3:first-child { flex: 0 0 60px; max-width: 60px; padding: 0; }
  .table_title h3:nth-child(2) { flex: 0 0 40px; max-width: 40px; }
}
@media screen and (max-width: 600px) {
  #dropdown-studios { text-align: center; }
  #dropdown-studios select { font-size: 13px; max-width: 180px; margin: 0 8px; }

  /* single city pages */
  .city-page-ctas { align-items: center; justify-content: center; }
  .single-city .flex-column .fl-button { font-size: 13px; min-width: 100px !important; padding: 8px 4px !important; }
  .city-page-ctas .link-holder a { padding: 20px; min-height: 150px; }
  .city-page-ctas.webcast .link-holder a { padding: 20px; min-height: auto; }

  /* competition schedule */
  section.tab_data-main input { font-size: 16px; }
  #dropdown-studios { text-align: center; }
  #dropdown-studios select { font-size: 13px !important; max-width: 180px; margin: 0 8px; }
}
@media screen and (max-width: 480px) {
  .inner-hero h1 span { font-size: 48px !important; }
}