/* custom css file */

/* FONTS */
@font-face {
    font-family: 'GT America Thin';
    src: url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Thin.woff2') format('woff2'),
        url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Thin.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'GT America Standard Medium';
    src: url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Standard-Medium.woff2') format('woff2'),
        url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Standard-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'GT America Standard Thin';
    src: url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Standard-Light.woff2') format('woff2'),
        url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Standard-Light.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'GT America';
    src: url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Medium.woff2') format('woff2'),
        url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'GT America Expanded Regular';
    src: url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Expanded-Regular.woff2') format('woff2'),
        url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Expanded-Regular.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'GT America Bold';
    src: url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Bold.woff2') format('woff2'),
        url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'GT America Expanded Bold';
    src: url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Expanded-Bold.woff2') format('woff2'),
        url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Expanded-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'GT America Extended Bold';
    src: url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Extended-Bold.woff2') format('woff2'),
        url('/wp-content/uploads/dynamik-gen/fonts/GTAmerica-Extended-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    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; }

/* Force TinyMCE Editor to be visible and use readable text color */
.wp-editor-area {
visibility: visible !important;
color: #000 !important;
}

/*
** HTML **
*/

/*
** BODY **
*/
body { overflow: hidden; }

/*
** DITTY **
*/
.ditty a, .ditty a:visited { color: #fff !important; }
.ditty a:active, .ditty a:hover { color: #efefef !important; }

/* 
** HEADER **
*/

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

.full-width-content .site-header .wrap {
    width: 1066px;
}

/* Initial hidden state */
#header-wrapper .title-area {
  opacity: 0;
  transform: translateY(30px);
  display: inline-block;
  animation: slideUp 0.5s ease forwards;
}

/* Keyframes for sliding up */
@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* top nav menu */
#menu-top-menu > a::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #fff;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
#menu-top-menu > a:hover::before {
  transform: scaleX(1);
}

.site-header .genesis-nav-menu span { font-family: 'GT America Expanded Bold', sans-serif !important; font-size: 10px; text-transform: uppercase; transition-duration: 0.4s; 
 }

#menu-main-menu > li a span:hover {  background-image: -webkit-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: -moz-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: -o-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: -ms-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-clip: text;
    display: inline-block;
    color: transparent;
    transition-duration: 0.3s; }

/* top nav menu animation
#menu-main-menu > li.top_level {
  opacity: 0;
  transform: translateY(30px);
  display: inline-block;
  animation: slideUp 0.5s ease forwards;
} */

/* Keyframes for sliding up */
@keyframes slideUp {
  to {
    opacity: 1;
  }
}

#menu-main-menu > li:nth-child(1) { animation-delay: 0.6s; }
#menu-main-menu > li:nth-child(2) { animation-delay: 0.7s; }
#menu-main-menu > li:nth-child(3) { animation-delay: 0.8s; }
#menu-main-menu > li:nth-child(4) { animation-delay: 0.9s; }
#menu-main-menu > li:nth-child(5) { animation-delay: 1.0s; }
#menu-main-menu > li:nth-child(6) { animation-delay: 1.1s; }
#menu-main-menu > li:nth-child(7) { animation-delay: 1.2s; }

#menu-main-menu > li:last-child { margin-right: 0 !important; }
#menu-main-menu > li:last-child a { padding: 0; }
#menu-main-menu > li:last-child a span { border: 1px solid #F2043E; border-radius: 30px; padding: 0px 15px !important; color: #F2043E !important; }
#menu-main-menu > li:last-child a span { color: #F2043E !important; }
#menu-main-menu > li:last-child a:hover span { border: 1px solid #fff; color: #fff !important; background: linear-gradient(90deg,rgba(242, 4, 62, 1) 0%, rgba(234, 167, 246, 1) 100%); }

#menu-main-menu > li:last-child a:hover::before { transform: none !important; }

#menu-main-menu ul { z-index: 999999999 !important; }

.site-header .genesis-nav-menu li li { transform: none; display: block; opacity: 1; animation: none !important; text-align: left !important; }
.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 { border: none !important; padding: 4px 8px !important; line-height: 100% !important; text-align: left !important; }
.site-header .genesis-nav-menu li li a:hover {  }

/* widget area on right */
.site-header  .widget-area { padding: 25px 0 0 0; }
.header-widget-area { font-size: 15px; text-align: right; }
.header-widget-area span { font-weight: 400; color: #F2043E; display: inline-block; margin: 0; }
.header-widget-area a:hover span { color: #F2043E; }
.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; }

.site-header .genesis-nav-menu.sf-arrows .sf-with-ul:after { content: "\25BC"; font-size: 10px !important; top: 6px !important; right: 5px !important; }

/* nav header */
.nav-header #menu-header-buttons { margin: 0 0 10px 0; }
.nav-header #menu-header-buttons li { margin: 10px 0 0 10px !important; text-align: center !important; }
.nav-header #menu-header-buttons a { padding: 8px 16px !important; margin: 0 !important; background: #0061AC !important; float: none !important; }
.nav-header #menu-header-buttons a span { text-transform: uppercase; color: #fff !important; margin: 0 }
.nav-header #menu-header-buttons li a { background: #004377 !important; }
.nav-header #menu-header-buttons li a:hover { background: #02A01F !important; }

/* main nav */
#menu-main-menu { text-align: right !important; }
#menu-main-menu a { font-size: 18px !important; font-weight: 600 !important; text-align: center !important; }
#menu-main-menu a, #menu-main-menu a span { transition-duration: 0.3s !important; }
.menu-primary > li { display: inline-block; float: none !important; }
.menu-primary > a::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 2px;
  bottom: 0;
  left: 0;
  background-color: #fff;
  transform: scaleX(0);
  transition: transform 0.3s ease;
}
.menu-primary > a:hover::before {
  transform: scaleX(1);
}

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

.menu-primary > a:hover::after { color: #F2043E !important; }

/* header after scroll */
body.header-short #header-wrapper { background: rgba(0,0,0); transition-duration: 0.5s; }
body.header-short .site-header .wrap .title-area { transition-duration: 0.3s; background-image: url('/wp-content/uploads/dynamik-gen/theme/images/ovation-logo-2025.png') !important; }
body.header-short #menu-main-menu a, body.header-short #menu-main-menu a span { transition-duration: 0.3s !important; }
body.header-short #menu-main-menu a span, body.header-short #menu-main-menu a:visited span { color: #fff !important; }
body.header-short #menu-main-menu li a:hover span { background-image: -webkit-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: -moz-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: -o-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: -ms-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-clip: text;
    display: inline-block;
    color: transparent !important;
    transition-duration: 0.3s; }
body.header-short .genesis-nav-menu.sf-arrows .sf-with-ul:after { color: #fff !important; }
body.header-short #menu-main-menu li li a { background: #000 !important; }
body.header-short #menu-main-menu > li:last-child a span { border: 1px solid #fff; color: #fff !important; transition-duration: 0.3s; }
body.header-short #menu-main-menu > li:last-child a:hover span { border: 1px solid #fff; color: #fff !important; background: linear-gradient(90deg,rgba(242, 4, 62, 1) 0%, rgba(234, 167, 246, 1) 100%) !important; }

body.header-short .header-widget-area a:hover span { color: #777; }

/* body */
body { background: #ffffff !important; }

/* main content */
.full-width-content .site-inner { max-width: 100% !important; padding: 0 !important; width: 100% !important; background: #ffffff !!important; }
.full-width-content .content-sidebar-wrap, .full-width-content .content { width: 100% !important; padding: 0 !important; }
.content .page { background: transparent !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; }

/* paragraphs */
p { margin: 0 0 12px 0; }
p:last-of-type { margin: 0; }

/* headings */
h1,h2,h3,h4,h5,h6 { font-family:'GT America Expanded Bold', sans-serif !important; text-transform: uppercase !important; line-height: 120% !important; }

/* text */
html,p,li,div { font-family:'GT America Standard Thin', sans-serif !important; line-height: 160% !important;  }

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

/* links */
.site-inner a, .site-inner a:visited {
    color: #F2043E !important; text-decoration: underline !important;
}
.site-inner a:hover, .site-inner a:active {
    color: #000 !important;
}

/* inner menus */
.menu-inner a { font-family:'GT America Expanded Bold', sans-serif !important; color: #000; 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; }

/* heading with background video */
.fl-bg-video-audio { display: none !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; }

/* sidebars */
aside.sidebar-primary { margin-top: 36px; padding: 0 8px; }

/* sidebar - quote form */
aside.sidebar-primary .gform_body label { color: #666; font-weight: 500; }
aside.sidebar-primary .gform_wrapper ul li.gfield { margin-top: 0; }
aside.sidebar-primary .gform_wrapper .gform_footer { margin: 0 auto; text-align: center; padding: 0; }

/* sidebars - menus */
aside.sidebar-primary ul { padding-top: 0 !important; }
aside.sidebar-primary  h4.widget-title { font-size: 20px; text-transform: uppercase; text-align: left; padding: 10px 0 10px 40px; margin: 0; color: #0061AC; font-weight: 600; }
aside.sidebar-primary .menu { padding: 10px 0 0 !important; }
aside.sidebar-primary ul.menu li { padding: 0; display: block; position: relative; padding: 0; margin: 0 0 8px; }
aside.sidebar-primary li.current-menu-item { background: #ADADAD; color: #fff; }
aside.sidebar-primary li.current-menu-item a { color: #fff; }
aside.sidebar-primary li.current-menu-item a::before { background-color: #333; color: #fff }

aside.sidebar-primary li a { margin: 0 0 0 35px; display: block; padding: 0px 0 0 10px; }

aside.sidebar-primary li:hover { background: #02A01F; color: #fff }
aside.sidebar-primary li:hover a { color: #fff }
aside.sidebar-primary a:before {
    content: '';
    display: inline-block;
    height: 25px;
    width: 25px;
    background-image: url('/wp-content/uploads/2017/01/logo-square.png');
    background-size: contain;
    background-repeat: no-repeat;
    margin-left: -45px;
    margin-right: 10px;
    vertical-align: middle;
}

aside.sidebar-primary a.noformatting:before { display: inherit; height: auto; width: auto; background: inherit; margin: 0; vertical-align: top; }

.sidebar.widget-area ol, .sidebar.widget-area ul, .sidebar.widget-area .textwidget, .sidebar.widget-area .widget_tag_cloud div div, .sidebar.widget-area .author-bio-widget, .sidebar.widget-area .featuredpage .page, .sidebar.widget-area .featuredpost .post { padding: 0 0 0 40px; }

/* sidebars - contacts */
.sidebar-contacts p { margin-bottom: 25px; }

/* sidebars - recent posts */
aside.sidebar-primary .widget_recent_entries ul { padding: 0; }


.sidebar.widget-area .widget_archive select, .sidebar.widget-area #cat { margin: 30px 0; }

/* password protected pages */
.ppw-post-password-container { margin: 200px auto 80px; text-align: center; max-width: 600px !important; }
.ppw-ppf-desc { font-size: 26px; line-height: 110% !important; margin: 0 auto 20px; }
.ppw-post-password-container label { font-size: 22px; font-weight: bold; color: #F2043E; text-transform: uppercase; }
.ppw-post-password-container input[type=password] { margin: 0 10px; font-size: px; border: 2px solid #F2043E; padding: 10px 20px; text-align: center; }
.ppw-ppf-field-container input[type=submit] { font-size: 22px;  background: transparent !important; padding: 10px 20px !important; line-height: 100% !important; border-radius: 30px; color: #F2043E !important; border: 2px solid #F2043E !important; font-size: 16px !important; text-transform: uppercase; font-family: 'GT America Bold', sans-serif !important; letter-spacing: 3px !important; transition-duration: 0.2s !important; text-decoration: none !important; }
.ppw-ppf-field-container input[type=submit]:hover { color: #fff !important; border: 2px solid #fff !important; background: #F2043E !important; }

/* blog grid */
.blog-grid .pp-content-post { border: 7px solid #e1e1e1; }
.blog-grid h4.pp-post-title, .blog-grid h5.pp-post-title { font-size: 20px; text-align: center; }
.blog-grid .pp-post-meta { text-align: center !important; }
.blog-grid .pp-more-link-button { background: #007115 !important; font-size: 16px !important; display: block; }
.blog-grid .pp-more-link-button:hover { background: #555 !important; color: #fff !important; }
.pp-posts-wrapper .pp-content-grid-pagination .page-numbers li { margin: 0 5px; }
.blog-grid.no-pagination .pp-content-grid-pagination { display: none; }
.blog-grid .pp-content-grid-image img { max-width: inherit !important; width: auto !important; height: 150px !important; max-height: 150px !important; }

/* blog grid pagination */
.blog-grid .pp-content-grid-pagination a.page-numbers, .blog-grid .pp-content-grid-pagination span.page-numbers { font-size: 18px !important; color: #007115 !important; border: 1px solid #007115 !important; border-radius: 0 !important; padding: 10px 20px !important; margin: 0; }

/* blog grid with small titles and small images */
.blog-grid.small-titles h4.pp-post-title, .blog-grid.small-titles h5.pp-post-title { font-size: 20px; text-align: center; }

/* single posts */
.single-post img.attachment-post-image { float: right; width: 40%; border: 7px solid #e1e1e1; margin: 0 0 0 2%; display: block; }
.single-post header.entry-header { float: left; width: 54%; margin: 0; padding: 0; }
.single-post h1.entry-title { font-size: 32px; }
.single-post main.content { margin: 40px 0 0 0; }
.single-post .entry-content { clear: left; }

.single-post .entry-meta { color: #ccc; font-style: italic; }

/*
**  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: transparent !important; padding: 10px 20px !important; border: none; line-height: 100% !important; border-radius: 30px; color: #F2043E !important; border: 2px solid #F2043E !important; font-size: 16px !important; text-transform: uppercase; font-family: 'GT America Bold', sans-serif !important; letter-spacing: 3px !important; transition-duration: 0.2s !important; text-decoration: none !important; }
.pp-button-wrap a:hover { color: #fff !important; border: 2px solid #F2043E !important; background: linear-gradient(90deg,rgba(242, 4, 62, 1) 0%, rgba(234, 167, 246, 1) 100%) !important; }
.pp-button-wrap a br { display: none; }

/* single buttons with gold gradient */
.red-button .pp-button-wrap a, .red-button .pp-button-wrap a:visited { background: transparent !important; padding: 10px 20px !important; line-height: 100% !important; border-radius: 30px; color: #F2043E !important; border: 2px solid #F2043E !important; font-size: 16px !important; text-transform: uppercase; font-family: 'GT America Bold', sans-serif !important; letter-spacing: 3px !important; transition-duration: 0.2s !important; text-decoration: none !important; }
.red-button .pp-button-wrap a:hover { color: #fff !important; border: 2px solid #fff !important; background: linear-gradient(90deg,rgba(242, 4, 62, 1) 0%, rgba(234, 167, 246, 1) 100%) !important; }
.red-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 */
.responsive-video {
  position: relative;
  padding-bottom: 56.25%; /* 16:9 aspect ratio */
  height: 0;
  overflow: hidden;
  max-width: 100%;
}

.responsive-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
  border: 0;
}


.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: #F2043E !important; border: 2px solid #F2043E !important; font-size: 20px !important; text-transform: uppercase; font-family: 'GT America Bold', 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: #ffffff; }

#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 tour - swiper */
#home-tour .swiper-container img { border-radius: 20px !important; }
#home-tour .swiper-scrollbar { display: none; }
#home-tour .swiper-container {
    width: 100%;
    margin: 40px 0;
    padding: 45px 0;
}

#home-tour .swiper-slide {
    opacity: 0.4;
    overflow: hidden;
    transition: .7s;
}

#home-tour .swiper-slide img {
    width: 100%;
}

#home-tour .swiper-slide-active {
    opacity: 1;
    z-index: 1;
    transform: scale(1.3) !important;
    width:  !important;
}

#home-tour .swiper-container span { font-family: 'GT America Expanded Bold', sans-serif; font-size: 22px; line-height: 110%; text-transform: uppercase; color: #fff; }
#home-tour .swiper-container span.date { display:  none; }
#home-tour span.swiper-content-holder { position: absolute; top: 40px; left: 0; right: 0; text-align: center; }
#home-tour .swiper-slide-active span.swiper-content-holder { position: absolute; top: 40px; left: 20px !important; text-align: left; }
#home-tour .swiper-container span.location { font-size: 24px !important; }
#home-tour .swiper-container span.date { font-family: 'GT America Standard Thin', sans-serif; font-size: 20px !important; margin: 20px 0 0; }
#home-tour .swiper-slide-active span.date { display: block; }

#home-tour .swiper-pagination { top: 0 !important; bottom: 0 !important; }

#home-tour .swiper-button-next,.swiper-button-prev {
    position: absolute;
    width: calc(var(--swiper-navigation-size)/ 44 * 27);
    height: var(--swiper-navigation-size);
    transform: translateX(0%);
    transform: translateY(140%) !important; /* Vertically center the buttons */
    z-index: 10;
    cursor: pointer;
    color: #000;
    background: rgba(255,255,255,0.6);
    padding: 20px;
    font-size: 16px;
    border-radius: 50%;
}
#home-tour .swiper-button-next:after,.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: 20px !important;
    text-transform: none!important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1;
    color: #000 !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 */
}

/* inner hero */
.inner-hero, .inner-hero h1, .inner-hero h2, .inner-hero h3, .inner-hero h4, .inner-hero h5, .inner-hero h6, .inner-hero p { color: #ffffff !important; }
.inner-hero p, .inner-hero .text-bold, .inner-hero .text-bold p { font-family: 'GT America Expanded Bold', sans-serif !important; text-transform: uppercase !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: 'GT America Bold', 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: 'GT America Bold', 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-hero { background-size: cover; background-position: center; }
.faculty-hero.desktop-display { height: 440px; }
.faculty-featured .title { font-family: 'GT America Bold', sans-serif; display: inline-block; font-size: 10px; text-transform: uppercase; line-height: 16px; border: 1px solid #000; border-radius: 20px; padding: 0px 8px; margin: 0 0 10px; color: #000 !important; }
.faculty-featured .name { display: block; font-size: 24px; font-family: 'GT America Bold', sans-serif; margin: 0 0 15px 0;  line-height: 100%; text-transform: uppercase; }
.faculty-featured .image { display: block; }
.faculty-featured .image img { border-radius: 30px; }
.faculty-featured .link { display: inline-block; margin: 30px 0; }
.faculty-featured .link a, .faculty-featured .link a:visited { color: #F2043E !important; padding: 8px 34px; border: solid 1px #F2043E; border-radius: 20px; font-family: 'GT America Bold', sans-serif; font-size: 14px; text-transform: uppercase; text-decoration: none !important; }
.faculty-featured .link a:hover { color: #000 !important; border: 1px solid #000; }
.faculty-featured .bio { display: block; }

.faculty-teachers { margin: 0 0 25px; }
.faculty-teachers br { display: none; }
.faculty-teachers .title { font-family: 'GT America Bold', sans-serif; display: inline-block; font-size: 10px; line-height: 16px; border: 1px solid #000; border-radius: 20px; padding: 0px 8px; margin: 0 0 5px; text-transform: uppercase; color: #000 !important; }
.faculty-teachers .name { display: block; font-size: 18px; font-family: 'GT America Bold', sans-serif; margin: 0 0 10px; text-transform: uppercase; word-spacing: 99999px !important; }
.faculty-teachers .image { display: block; }
.faculty-teachers .bio { display: block; font-size: 14px; margin: 15px 0 0; min-height: 170px; }
.faculty-teachers .bio p { font-family: 'GT America Standard Thin', sans-serif !important; }

.faculty-teachers .col-md-4 { margin: 0 0 40px; }
.faculty-teachers a { display: inline-block; position: relative; overflow: hidden; }

.faculty-teachers a::after {
  content: ""; 
  position: absolute; 
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg,rgba(242, 4, 62, 1) 0%, rgba(234, 167, 246, 1) 100%); 
  opacity: 0;
  transition: opacity 0.3s ease;
  mix-blend-mode: color;
}

.faculty-teachers a:hover::after {
  opacity: 1;
}

/* faculty detail page */
.single-faculty .site-inner { margin-top: 100px; }
.single-faculty #faculty-title-name .title { font-size: 12px; text-transform: none; line-height: 20px; border: 1px solid #000; border-radius: 20px; padding: 0px 8px; margin: 0 0 10px; text-transform: uppercase !important; }
.single-faculty .faculty-name h1 { text-transform: uppercase !important; margin: 0 !important; color: #F2043E !important; font-size: 64px; }
.single-faculty .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 { font-size: 20px; margin: 0 0 20px; }
.single-faculty .faculty-bio p { font-family: 'GT America Standard Thin', sans-serif !important; line-height: 110%; }
.single-faculty .faculty-bio-image img { border-radius: 30px; }
.single-faculty .appearances h5 { line-height: 70%; }

/* 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: 'GT America Bold', 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: #F2043E !important; color: #fff; border: 0 !important; margin: 0; }
.gform_wrapper .gform_footer input[type=submit]:hover { color: #F2043E !important; background: #eaa7f6 !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; }

/* 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: #ffffff; 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: 'GT America Expanded Regular'; font-size: 14px; margin: 0 !important; max-height: 41px; background-color: transparent !important; border-radius: 20px; border: 2px solid #ffffff !important; text-transform: uppercase; padding: 10px 30px 10px 30px !important; transition: background 0.3s ease; position: relative;
  overflow: hidden; z-index: 1; }
.shop-signup .gform_wrapper .gform_footer input[type=submit]:hover { color: #fff !important; background: linear-gradient(90deg,rgba(242, 4, 62, 1) 0%, rgba(234, 167, 246, 1) 100%) !important; }
.shop-signup .gform_wrapper .gform_footer input[type="submit"]::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,rgba(242, 4, 62, 1) 0%, rgba(234, 167, 246, 1) 100%) !important;
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: -1;
}

.shop-signup .gform_wrapper .gform_footer input[type="submit"]:hover::before {
  opacity: 1;
}

/* body anchors */
.anchor:before {
}
:target {
  padding-top: 110px !important; /* Add space equal to the header height */
  margin-top: -110px; /* Compensate for the added padding */
}

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

/* ===============================
   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-color: transparent !important;
    background-image: none !important;
}
.jt-results-header-full a, .jt-results-nav .jt-navlink { color: #fff !important; font-weight: bold !important; }
.jt-results-header-full a:hover, .jt-results-nav .jt-navlink:hover { color: #efefef !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; }
.jt-tab-data-main .container { padding: 0; }

/* 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 { margin: 0 0 15px; }
.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: block;
  padding: 0;
  box-sizing: border-box;
  max-width: 1200px; /* if your theme container is different, adapt or remove */
  margin: 0 auto;
}

/* Left side: location + date */
.jt-date-line {
  color: #000;
  font-weight: bold !important; 
  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; }

/* City and Date */
.jt-results-top-left { margin: 0 0 40px; }

/* Right side: nav links (inline) and big tab title below them */
.jt-results-top-right {
    background-color: #f2043e !important;
    background-image: -webkit-linear-gradient( 180deg, #f2043e 0%, #eaa7f6 100%) !important;
    background-image: -moz-linear-gradient( 180deg, #f2043e 0%, #eaa7f6 100%) !important;
    background-image: -o-linear-gradient( 180deg, #f2043e 0%, #eaa7f6 100%) !important;
    background-image: -ms-linear-gradient( 180deg, #f2043e 0%, #eaa7f6 100%) !important;
    background-image: linear-gradient( 180deg, #f2043e 0%, #eaa7f6 100%) !important;
  display: block;
  padding: 20px 20px 10px;
  box-sizing: border-box;
  max-width: 1200px; /* if your theme container is different, adapt or remove */
  margin: 0 auto;
}

/* 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; }
h3.jt-main-heading { font-size: 36px !important; 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: none;
  justify-content:space-between; /* pins to left & right */
  align-items:center;
  gap:16px;
  margin:0 0 30px;
}

: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;
  text-decoration: none !important;
  letter-spacing:.03em;
  text-decoration:none;
  color:var(--cta-text)!important;
  background:#f20440;
  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
}

.workshop-schedule .thead-dark tr:nth-child(1) th { background-color: transparent !important; background-image: -webkit-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%) !important;
    background-image: -moz-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%) !important;
    background-image: -o-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%) !important;
    background-image: -ms-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%) !important;
    background-image: linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%) !important;
}
.workshop-schedule .thead-dark tr:nth-child(2) th { background-color: #ccc !important; font-family: 'GT America Expanded Bold', sans-serif !important; color: #000 !important; text-transform: uppercase; border: 0 !important; text-align: center !important; }
.workshop-schedule div { font-family:'GT America Expanded Bold', sans-serif !important; line-height: 140% !important; border: 0 !important; }
.workshop-schedule th, .workshop-schedule td { font-family: "GT America Expanded Bold", sans-serif !important; line-height: 140% !important;  }

.workshop-schedule .class, .workshop-schedule .break, .workshop-schedule .audition { text-align: center;}

.workshop-schedule .ws-desc { font-size: 9px; }

/* 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: #f20440 !important; }
#event-detail-hero.tabs_wrapper_main { padding: 220px 0 95px !important; }
#event-detail-hero .season { margin: 10px 0 20px; }
#competition_schedule { max-width: 100% !important; margin: 0 auto !important; }
#comp-schedule-scope .cds-actions { margin: 0 0 25px 0; }

.table_wrapper .table_data.is-hidden-row {
  display: none !important;
}

.room-schedule.is-hidden-room {
  display: none !important;
}

.table_title.is-break,
.table_title.is-awards {
  display: flex;
  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 dropdown */
.tabs-holder .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.tabs-holder .tab {
    flex: 1 1 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
}
#dropdown-studios {
    display: flex;
    gap: 15px;
    align-items: center;
}

.hidden { display: none; }

/* tabs */
section.tabs_wrapper_main { padding: 20px 0 60px !important; max-width: 100%; position: relative; overflow: hidden; }

section.tabs_wrapper_main::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.36); /* change this color/opacity */
    z-index: 1;
}

section.tabs_wrapper_main > * {
    position: relative;
    z-index: 2;
}
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; }

a.tablinks {
font-size: 22px;
border: unset;
padding: 0;
line-height: normal;
color: #f20440 !important;
position: relative;
background: transparent;
font-weight: 400;
text-transform: uppercase;
line-height: 1.4;
text-decoration: none !important;
cursor: pointer;
}
a.tablinks:hover {
color: #000 !important;
font-style: italic;
font-weight: 500;
}
.tab {
display: flex !important;
column-gap: 43px;
flex: 1;
flex-wrap: wrap;
row-gap: 15px;
}
a.tablinks:not(:last-child):after {
content: "";
width: 7px;
height: 1px;
background: #f20440;
position: absolute;
top: 22px;
right: -24px;
}

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

#dropdown-studios .select-box {
color: #f20440;
border: 1.5px solid #f20440;
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/11/downarrowred.png) !important;
background-repeat: no-repeat !important;
background-position: 93% 50% !important;
background-size: 11px !important;
max-width: 215px;
width: 100%;
}
#dropdown-studios .select-box:hover {
color: #fff;
background: linear-gradient(90deg,rgba(242, 4, 62, 1) 0%, rgba(234, 167, 246, 1) 100%) !important;
cursor: pointer !important;
}
#dropdown-studios .select-box option {
background: #f20440;
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 h3.room-header { text-align: center; margin-top: 15px !important; color: #f20440 !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-image: -webkit-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: -moz-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: -o-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: -ms-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
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: 12px !important;
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: #f20440;
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: 18px;
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: #f20440 !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;
}

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


/* 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 */

/* temporarily hide room 2 - ballroom competition */
#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: 85px;
  text-align: left;
  padding: 0 0 0 5px;
}
.room-1 .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;
}

/* ballroom competition table */
section.tab_data-main .table_wrapper h4.ballroom-subheader { text-align: center;  }

/* ROOM 2 – normalize header + data rows */
/* ROOM 2 – normalize header + data rows */
.room-2 .table_title.table_heading,
.room-2 .table_title.table_data {
  display: flex;
  align-items: center;
}

/* Make header + data cells share the same box model */
.room-2 .table_title.table_heading h3,
.room-2 .table_title.table_data h3 {
  margin: 0;
  padding: 0 12px;
  box-sizing: border-box;
  text-align: left !important;
  flex: 0 0 auto;
}

/* Override any old nth-child(2)/nth-child(6) width rules */
.room-2 .table_title.table_heading h3,
.room-2 .table_title.table_data h3 {
  width: auto !important;
}

/* Column 1 — # */
.room-2 .table_title.table_heading h3:nth-child(1),
.room-2 .table_title.table_data h3:nth-child(1) {
  flex: 0 0 8% !important;   /* fixed-ish number column */
  text-align: center;
}

/* Column 2 — ROUTINE */
.room-2 .table_title.table_heading h3:nth-child(2),
.room-2 .table_title.table_data h3:nth-child(2) {
  flex: 0 0 28% !important;
  text-align: left !important;
}

/* Column 3 — STUDIO */
.room-2 .table_title.table_heading h3:nth-child(3),
.room-2 .table_title.table_data h3:nth-child(3) {
  flex: 0 0 24% !important;
}

/* Column 4 — CATEGORY */
.room-2 .table_title.table_heading h3:nth-child(4),
.room-2 .table_title.table_data h3:nth-child(4) {
  flex: 0 0 26% !important;
}

/* Column 5 — ROOM */
.room-2 .table_title.table_heading h3:nth-child(5),
.room-2 .table_title.table_data h3:nth-child(5) {
  flex: 0 0 11% !important;
  text-align: center !important;
}

/* ROOM 2 — Special rows (Awards / Breaks) should be one full-width centered cell */
.room-2 .table_title.table_data.is-break {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    padding: 18px 0 !important;
    text-align: center !important;
    /* completely override column flex behavior */
    flex-direction: row !important;
    gap: 0 !important;
    margin: 0 auto !important;
}

/* Make the inner text span the full width and center it */
.room-2 .table_title.table_data.is-break h3 {
    flex: 0 0 100% !important;
    max-width: 100% !important;
    text-align: center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    width: 100% !important;
}

.table_title.is-award, .table_title.is-break { background: #f20440 !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;
}

/*
**  FOOTER **
*/

#footer-signup { max-width: 1066px; background: #ffffff; display: flex; padding: 0 0% 10px; margin: 0 auto; }
#footer-signup .title, #footer-signup .form-holder { flex: 1 }
#footer-signup h2 { color: #000; text-transform: uppercase; align-self: flex-end; font-size: 3.4rem; padding: 60px 0 0; line-height: 100%; }
#footer-signup .form-holder {text-align: right; position: relative; }
#footer-signup .gform_wrapper { margin: 0 !important; }
#footer-signup .gform_wrapper form { display: flex; flex-direction: row; }
#footer-signup .gform_confirmation_wrapper { position: absolute; left: 0; right: 0; bottom: 8px; margin: 0 auto; text-align: center; }
#footer-signup .gform_body { display: block; align-self: flex-end; padding-top: 60px; 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; align-self: flex-end; padding: 60px 0 0; flex: 1; text-align: right; }
#footer-signup .gfield { margin-top: 0 !important; }
#footer-signup .gform_heading { display: none; }
#footer-signup #input_6_1 { margin-top: 0; background: transparent; border-top: none; border-right: none; border-left: none; border-bottom: 2px solid #ccc; width: 100%; text-transform: uppercase; text-align: center; font-size: 1.7rem !important; }
#footer-signup #input_6_1::placeholder { color: #888; }
#footer-signup .gform_footer input { margin: 0 !important; max-height: 39px; }

#ez-fat-footer-container { max-width: 1066px !important; display: flex; padding: 0 0 200px; margin: 30px auto 0; align-items: self-start; }

#ez-fat-footer-container .ez-widget-area p { text-transform: uppercase; font-size: 11px; padding: 5px 0 }

#ez-fat-footer-container ul { display: flex; text-align: center; padding-bottom: 0; line-height: 9px !important; justify-content: space-between;  }
#ez-fat-footer-container #menu-footer-menu li { display: inline-block; list-style-type: none;text-transform: uppercase; margin: 0; }
#menu-footer-menu li a { font-size: 11px; }
#menu-footer-menu li a, #menu-footer-menu li a:visited { color: #ffffff !important; }
#menu-footer-menu li a:hover { color: #fff !important; }

#footer_bottom_section { background: #000; display: -webkit-flex; -webkit-flex-direction: row; flex-direction: row; justify-content: center; align-items: center; max-width: 100%; padding: 0 15px 20px; margin: 0 auto; }
#footer_bottom_section section { max-width: 1066px; }
#footer_bottom_section section:first-child { text-align: left; }
#footer_bottom_section section:last-child .widget-wrap { flex: 1; margin-top: 15px; }
#footer_bottom_section section img { width: 100%; height: auto; }
#footer_bottom_section p { font-size: 13px; color: #fff; }
#footer_bottom_section a { color: #ffffff !important; }
#footer_bottom_section a:hover { color: #fff !important; }
#footer_bottom_section img { height: 100%; }
#footer_bottom_section #images-holder { display: flex; flex-wrap: nowrap; text-align: center !important; justify-content: center; }

/* footer logo animation */
#footer_bottom_section .textwidget div img.footer-logo { visibility: hidden; }
#footer_bottom_section .textwidget div#danceone-logo-footer img { visibility: hidden; }
#footer_bottom_section .textwidget div img.footer-logo.active {
  opacity: 0;
  transform: translateY(30px);
  animation: slideUp 0.5s ease forwards;
  visibility: inherit;
}

/* Keyframes for sliding up */
@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
#footer_bottom_section .textwidget div#danceone-logo-footer img.footer-logo-danceone.active {
  opacity: 0;
  transform: translateY(30px);
  animation: slideUp 0.5s ease forwards;
  visibility: inherit;
  animation-delay: 2.0s;
}

/* Keyframes for sliding up */
@keyframes slideUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#footer_bottom_section .textwidget div:nth-child(1) img.footer-logo.active { animation-delay: 0.2s; }
#footer_bottom_section .textwidget div:nth-child(2) img.footer-logo.active { animation-delay: 0.3s; }
#footer_bottom_section .textwidget div:nth-child(3) img.footer-logo.active { animation-delay: 0.4s; }
#footer_bottom_section .textwidget div:nth-child(4) img.footer-logo.active { animation-delay: 0.5s; }
#footer_bottom_section .textwidget div:nth-child(5) img.footer-logo.active { animation-delay: 0.6s; }
#footer_bottom_section .textwidget div:nth-child(6) img.footer-logo.active { animation-delay: 0.7s; }
#footer_bottom_section .textwidget div:nth-child(7) img.footer-logo.active { animation-delay: 0.8s; }
#footer_bottom_section .textwidget div img.footer-logo-danceone.active { animation-delay: 2.0s; max-width: 24%; margin: 10px 0 0; float: right; }

footer.site-footer { display: none; }

/* 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%; margin: 20px 0; }
.flexequal.third { flex: 1 0 30%; margin: 20px 0; }

/* 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 { 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: #ffffff !important; }
.text-red, .text-red p, .text-red h1, .text-red h2, .text-red h3, .text-red h4, .text-red h5, .text-red h6 { color: #F2043E !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: 'GT America Bold', sans-serif !important; }
.text-uppercase { text-transform: uppercase; }

.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: 'GT America Expanded Bold', 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; }

.gradient-text h2 span { 
    background-image: -webkit-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: -moz-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: -o-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: -ms-linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-image: linear-gradient( 90deg, #f2043e 0%, #eaa7f6 100%);
    background-clip: text;
    display: inline-block;
    color: transparent; }

.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: 'GT America Expanded Bold', sans-serif !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;
}

/* infoboxes */
.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: #ffffff !important; border: 2px solid #ffffff !important; }

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

/* white buttons */
.white-button .pp-button-wrap a, .white-button .pp-button-wrap a:visited { color: #ffffff !important; border: 2px solid #ffffff !important; }
.white-button .pp-button-wrap a:active, .white-button .pp-button-wrap a:hover { color: #F2043E !important; border: 2px solid #ffffff !important; background: #eaa7f6 !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 .white-button .pp-button-wrap a { padding: 14px 40px !important; border: 4px solid #ffffff !important; }
.expanded-text .white-button .pp-button-wrap a:hover { color: #fff !important; border: 4px solid #ffffff !important; background: #F2043E !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: #000; text-transform: uppercase; }
.event-rows .event-dates { font-size: 28px; font-family: 'GT America Bold', sans-serif !important; align-self: center; }
.event-rows .event-location  { align-self: center; padding: 0; }
.event-rows .event-location .event-title { font-size: 18px; font-family: 'GT America Bold', 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: 'GT America Bold', sans-serif !important;color: #F2043E !important; font-size: 18px; border: 1px solid #F2043E; padding: 8px 12px; border-radius: 30px; text-decoration: none !important; }
.event-rows .event-link a:hover { color: #fff !important; border: 1px solid #F2043E !important; background: linear-gradient(90deg,rgba(242, 4, 62, 1) 0%, rgba(234, 167, 246, 1) 100%) !important; }

.red-button .pp-button-wrap a, .red-button .pp-button-wrap a:visited { background: transparent !important; padding: 10px 20px !important; line-height: 100% !important; border-radius: 30px; color: #F2043E !important; border: 2px solid #F2043E !important; font-size: 16px !important; text-transform: uppercase; font-family: 'GT America Bold', sans-serif !important; letter-spacing: 3px !important; transition-duration: 0.2s !important; text-decoration: none !important; }
.red-button .pp-button-wrap a:hover { color: #fff !important; border: 2px solid #fff !important; background: linear-gradient(90deg,rgba(242, 4, 62, 1) 0%, rgba(234, 167, 246, 1) 100%) !important; }

/* single city pages */
.link-holder { border-bottom: 1px solid #000 !important; padding: 18px 0 10px; }
.link-holder h4 { margin: 0 !important; }

a.btn-primary, a.btn-primary:visited { text-align: left; background-color: transparent !important; text-decoration: none !important; color: #f20440 !important; border: none; }
a.btn-primary:active, a.btn-primary:hover { background-color: transparent !important: }
a.btn-primary h4, a.btn-primary:visited { text-align: left; background-color: transparent; text-decoration: none !important; color: #f20440 !important; }
a.btn-primary:active h4, a.btn-primary:hover h4 { color: #000 !important; }

a.is-disabled h4 { color: #777 !important; }

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

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

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

/* boxzilla - popups */
.boxzilla-overlay { backdrop-filter: blur(10px) !important; }
.boxzilla { background-color: #000 !important; text-align: center !important; }
.boxzilla img { margin: 0 auto 20px !important; }
.boxzilla input[type=email] { background: transparent; text-align: center; border: 1px solid rgba(255,255,255,0.3); padding: 20px 30px !important; box-shadow: none; border-radius: 40px; font-size: 20px !important; width: 90% !important; margin: 10px auto 0 !important; color: #fff; }
.boxzilla input[type=email]::placeholder { color: #fff; }
.boxzilla .gform_footer { justify-content: center; }
.boxzilla .gform_footer input[type=submit] { background: rgba(255,255,255,0.1) !important; color: #fff; border: 0 !important; margin: 0; border-radius: 40px; }
.boxzilla .gform_footer input[type=submit]:hover { background: rgba(255,255,255,0.2) !important; color: #fff;}
.boxzilla .font-small { color: #ccc; }
.boxzilla .boxzilla-close-icon { color: #fff; }
.boxzilla .gform_confirmation_message { font-size: 20px; font-weight: bold; margin: 0 0 10px; font-style: italic; }


/* mobile */
@media screen and (max-width: 1250px) {
  /* faculty page */
  .faculty-featured .name { font-size: 24px !important; }
  /* footer */
  #footer-signup h2 { font-size: 33px; }
  #ez-fat-footer-container { display: block; padding-bottom: 60px; }
  #ez-fat-footer-container .widget-area, #ez-fat-footer-container .one-half,#ez-fat-footer-container .three-sixths, #ez-fat-footer-container .two-fourths { width: 100% !important; float: none !important; margin: 0; }
}
@media screen and (max-width: 1140px) {
    /* top menu */
    ul.menu-secondary, .site-header ul.genesis-nav-menu { float: right; margin-right: 2.5%; }
    /* header */
    .site-header { min-height: 70px !important; }
    .site-header .wrap { max-width: 100%; }
    /* logo */
    .header-image .site-header .wrap .title-area { float: left; height: 34px; width: 220px; margin: 10px 2% 0 15px; padding: 0; }
    .header-image .title-area, .header-image .site-title, .header-image .site-title a { width: 220px; height: 34px; margin: 0; }
    /* header widgets */
    .site-header .widget-area { float: right; width: 820px; padding: 8px 15px 0 0 }
    .header-widget-area section { flex: 1; }
    .header-widget-area section:first-child { margin-right: 0; border: none; }
    .header-widget-area section:nth-child(3) { flex: 1; }
    .header-widget-area .search-form input[type="search"] { max-width: 90px; }
    .nav-primary a { font-size: 16px !important; }
    /* main menu */
    ul.menu-primary { text-align: left; }
    /* main menu social */
    .menu-primary > li:last-child { margin-right: 2.5%; }
    /* main content */
    main.content { border-right: none; }
    /* sidebar */
    aside.sidebar-primary { display: none !important; }
    /* footer */
    #footer-signup, #ez-fat-footer-container { padding: 0 15px; max-width: 100% !important; }
    #footer_bottom_section { padding: 15px !important; }
    #footer-signup h2 { font-size: 30px; }
    /* faculty detail page */
    .single-faculty .site-inner { margin-top: 70px; }
}

@media screen and (max-width: 1040px) {
    /* header widgets
    .site-header .widget-area { display: none; } */
    /* mobile menu */
    .rmp-trigger-box { display: none !important; }
    .rmp_menu_trigger.is-active .rmp-trigger-box { display: inline-block !important; }
    .rmp-trigger-text { font-family: 'GT America Bold', sans-serif !important; }
    .rmp-menu-subarrow { padding-top: 4px; }
    #rmp_menu_trigger-6323 { background: transparent !important; }
    .rmp_menu_trigger.is-active { left: 0px !important; right: auto !important;  }
    .rmp-container a, .rmp-container a:visited { font-family: 'GT America Bold', sans-serif !important; text-transform: uppercase !important; height: auto !important; color: #fff !important; font-size: 11px !important; line-height: 140% !important; }
    .rmp-menu { margin-top: 20px !important; padding: 0 0 0 15px !important; }
    .rmp-menu-item-link  { height: 30px !important; }
    .rmp-menu li { margin-bottom: 15px !important; }
    .rmp-menu li:nth-child(6) { margin-bottom: 0 !important; }
    .rmp-menu li:nth-child(7) { height: 35px !important; }
    .rmp-menu li:nth-child(7) .rmp-menu-item-link { height: 25px !important; display: inline-block !important; width: auto !important; padding: 0; border: 1px solid #F2043E !important; border-radius: 30px; padding: 4px 20px 2px 20px !important; color: #F2043E !important; margin: 10px 0 0; line-height: 130%; }
    .rmp-menu li:nth-child(7) a:hover { border: 1px solid #000; }
    .rmp-menu li:nth-child(7) a:hover { color: #000 !important; }
    .rmp-menu li:nth-child(8) { margin-top: 20px !important; margin-bottom: 20px !important; }
    .rmp-menu li:nth-child(8) a, .rmp-menu li:nth-child(8) a,.rmp-menu li:nth-child(9) a,.rmp-menu li:nth-child(10) a,.rmp-menu li:nth-child(11) a,.rmp-menu li:nth-child(12) a,.rmp-menu li:nth-child(13) a,.rmp-menu li:nth-child(14) a { font-family: 'GT America Thin', sans-serif !important; text-transform: uppercase !important; font-size: 13px !important; }

    .rmp-submenu { margin: 15px 0 !important; }

    /* 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; }
}

@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; }
    /* footer */
    #footer-signup h2 { font-size: 26px; }

    /* inner heroes */
    .inner-hero h1 span { font-size: 40px !important; line-height: 120% !important; }

    /* 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; }
}
@media screen and (max-width: 900px) {
    /* header */
    .header-image .site-header { min-height: 70px !important; }
    .header-image .site-header .wrap .title-area { float: left; height: 47px; width: 300px; margin: 10px 5% 0 15px; padding: 0; }
    .header-image .title-area, .header-image .site-title, .header-image .site-title a { width: 300px; height: 47px; margin: 0; }
    /* header widgets */
    /* 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; }

     /* 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 { display: block; margin: 0 auto; padding: 60px 2% 20px; text-align: center; }
    #footer-signup h2 { padding: 0; }
    #footer-signup .gform_body, #footer-signup .gform_footer { padding: 0; }

    #ez-fat-footer-container { margin: 0; }
    #ez-fat-footer-container ul { display: block; }
    #ez-fat-footer-container #menu-footer-menu { text-align: left; margin: 20px 0 0; }
    #ez-fat-footer-container #menu-footer-menu li {  display: list-item; list-style-type: none; margin: 0; }
    #ez-fat-footer-container #menu-footer-menu li:first-child { margin-bottom: 30px; }

    /* home tour */
    #home-tour .swiper-container span { font-size: 14px; }
    #home-tour .swiper-container span.location { font-size: 16px !important; padding: 2px !important; }
    #home-tour .swiper-container span.date { font-size: 14px !important; margin-top: 10px; }

    /* 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; }
}

@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 { min-height: 70px !important; }
    .header-image .site-header .wrap .title-area { float: left; height: 47px; width: 300px; margin: 10px 5% 0 15px; padding: 0; }
    .header-image .title-area, .header-image .site-title, .header-image .site-title a { width: 300px; height: 47px; margin: 0; }

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

    /* home tour */
    #home-tour .swiper-button-next,.swiper-button-prev {
    transform: translateY(120%) !important; /* Vertically center the buttons */ }
    /* header widgets */
    .site-header .widget-area { float: right; width: 60%; padding: 20px 2.5% 0 0 }
    /* home hero */
    .home-hero .fl-col, .home-hero .fl-col-small { width: 90% !important; max-width: 90%; }
     /* footer sections */
     #footer_bottom_section section:first-child { flex: 2; }
     /* footer slogan */
     #footer_bottom_section section:last-child { font-size: 14px; }
    /* sidebar nav menu */
    .sidebar .widget_nav_menu { width: 100% !important; }
    /* footer */
    #ez-fat-footer-container { margin: 30px 0 0; padding-bottom: 60px; }
    /* home collaboration */
    #collaboration #collab-col1, #collaboration #collab-col2, #collaboration #collab-col3 { clear: none !important; float: left !important; }
    #collaboration #collab-col1 { width: 45% !important; }
    #collaboration #collab-col2 { width: 10% !important; }
    #collaboration #collab-col3 { width: 45% !important; }
    /* 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; }

    /* font sizes */
    .font-medium, .font-medium p { font-size: 14px !important; line-height: 120% !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; }
    /* competition schedule */
    section.tab_data-main .table_wrapper .table_data h3 {
        font-size: 9px !important;
    }
    .workshop-schedule{
    position: relative;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.workshop-schedule table{
    table-layout: fixed;        /* honor <colgroup> widths */
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
}

.workshop-schedule th,
.workshop-schedule td{
    white-space: normal;        /* allow wrapping */
    overflow-wrap: anywhere;
    line-height: 1.35;
    vertical-align: top;
    padding: 8px 12px;
    height: auto !important;
    box-sizing: border-box;
}

/* sticky header row (adjust top if you have a pinned day bar) */
.workshop-schedule thead tr:nth-child(2) th{
    position: sticky;
    top: 44px;                  /* set to 0 if no pinned day bar */
    z-index: 4;
    background: #fff;
}

/* sticky first column (time) — width locked by JS + colgroup */
.workshop-schedule thead th:first-child,
.workshop-schedule tbody th:first-child,
.workshop-schedule tbody td:first-child{
    position: sticky;
    left: 0;
    z-index: 3;
    background: #fff;
    box-shadow: 1px 0 0 rgba(0,0,0,.06);
}
/* Make the table wider than the screen so it can scroll horizontally */
  .workshop-schedule table {
    min-width: 780px; /* bump this up/down until TEEN/SENIOR etc. breathe */
  }

  /* Give each column a minimum width so headers don't collide */
  .workshop-schedule thead th,
  .workshop-schedule tbody td {
    min-width: 130px;
  }

  /* Time column can be narrower */
  .workshop-schedule thead th:first-child,
  .workshop-schedule tbody th:first-child {
    min-width: 90px;
    max-width: 110px;
  }
}
@media (max-width: 680px) {

  /* Make the day tabs more compact */
  .tabs-holder .tab {
    gap: 0px;                /* was 40px */
    justify-content: center; /* keeps them nicely centered */
  }

  .tabs-holder .tab .tablinks {
    font-size: 11px;         /* smaller type */
    padding: 4px;        /* tighter pills */
    line-height: 1.2;
  }

  /* Optional: tighten the dropdown area too */
  #dropdown-studios {
    gap: 4px;
    flex-wrap: wrap;
  }

  #dropdown-studios .select-box {
    font-size: 12px;
    padding: 4px 6px;
  }
    a.tablinks:not(:last-child):after {
content: "";
width: 7px;
height: 1px;
background: none;
position: absolute;
top: 22px;
right: -24px;
}
}

@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 */
    .header-image .site-header { min-height: 70px !important; }
    .header-image .site-header .wrap .title-area { float: left; height: 47px; width: 300px; margin: 10px 5% 0 15px; padding: 0; }
    .header-image .title-area, .header-image .site-title, .header-image .site-title a { width: 300px; height: 47px; margin: 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; }

    /* inner heroes */
    .inner-hero h1 span { font-size: 26px !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 .title { font-size: 10px; }
    .faculty-teachers .name { font-size: 16px; line-height: 120%; word-spacing: 9999999px; }
    .faculty-teachers .bio { min-height: 113px !important; }
    .faculty-teachers p { font-size: 14px; line-height: 120%; }

     /* footer */
     #footer-signup form { border-bottom: 1px solid #ccc; padding: 10px 0 5px; }
     #footer-signup #input_6_1 { border: none; text-align: left; font-size: 1.7rem !important; line-height: 110%; }
     #footer-signup h2 { font-size: 22px !important; }
     #footer-signup .gform_footer input { margin: 0 !important; max-height: 30px; }

    /* password protected pages */
    .ppw-post-password-container label, .ppw-post-password-container input[type=password] { display: block; }
    .ppw-post-password-container input[type=password] { margin: 15px auto; }
    /* competition schedule */
    section.tab_data-main .table_wrapper .table_data h3 { font-family: 'GT America Standard Thin' !important;
    }
}

@media screen and (max-width: 480px) {
    /* header */
    .header-image .site-header { min-height: 70px !important; }
    .header-image .site-header .wrap .title-area { float: left; height: 47px; width: 300px; margin: 10px 5% 0 15px; padding: 0; }
    .header-image .title-area, .header-image .site-title, .header-image .site-title a { width: 300px; height: 47px; margin: 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-hero.mobile-display { height: 440px; }
    .faculty-featured .title { font-size: 11px !important; }
    .faculty-teachers .bio { min-height: 160px !important; }

    /* mobile menu */
    .rmp-menu li:nth-child(8) { margin-top: 150px !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; }

    /* boxzilla popups */
    .boxzilla .font-small { font-size: 10px !important; }
}