/* CTN Academy Refresh 1.1.1
 * Loaded after template.css and custom.css. Keep those originals as the base.
 * Article interiors, eLibrary grids/accordions and extension behaviour are retained.
 * !important is used only where the existing template already requires it,
 * or for the explicitly scoped legacy Home styles and keyboard focus.
 */

body.ctn-refresh {
  --ctnr-ink: #302d28;
  --ctnr-muted: #71665a;
  --ctnr-red: #8d302c;
  --ctnr-red-hover: #702421;
  --ctnr-paper: #fff;
  --ctnr-paper-deep: #f3ede3;
  --ctnr-border: #e4dacb;
  --ctnr-radius: 14px;
  --ctnr-shadow: none;
  --ctnr-heading: Georgia, 'Times New Roman', serif;
  color: var(--ctnr-ink);
  background-color: #fff;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: 18px;
  line-height: 1.7;
  -webkit-text-size-adjust: 100%;
}

/* The guided learning component keeps its current type scale and layout. */
.ctn-refresh #oscampus.osc-container { font-size: 24px; line-height: 31px; }

.ctn-refresh :focus-visible {
  outline: 3px solid #8d302c !important;
  outline-offset: 4px !important;
}
.ctn-refresh .footer_wrapper :focus-visible,
.ctn-refresh .mobilemenuck :focus-visible { outline-color: #fff4d9 !important; }
.ctn-refresh .ctn-skip-link {
  position: absolute;
  inset-inline-start: 16px;
  top: -150px;
  z-index: 100000;
  padding: 12px 20px;
  background: #fff;
  color: #702421;
  border: 2px solid #8d302c;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 700;
}
.ctn-refresh .ctn-skip-link:focus { top: 16px; }
.ctn-refresh .pad_content { min-width: 0; }
.ctn-refresh .pad_content img { max-width: 100%; }
.ctn-refresh .pad_content video { max-width: 100%; }
.ctn-refresh .pad_content a { text-underline-offset: .18em; }

/* Template shell; existing menu modules, banners and positions are reused. */
.ctn-refresh .header { padding: 0; background-color: var(--ctnr-paper); }
.ctn-refresh .header .header_wrapper {
  box-sizing: border-box;
  width: auto;
  max-width: 1600px;
  margin: 0 auto;
  padding: 18px clamp(18px, 4vw, 64px);
  background-color: var(--ctnr-paper);
}
.ctn-refresh .grid-container .logo .custom { margin-right: 30px; }
.ctn-refresh .grid-container .logo .custom img { margin-top: 0; }
.ctn-refresh .footer_wrapper {
  background-color: #302925;
  color: #f3ede3;
  padding: 48px clamp(20px, 5vw, 80px) 28px;
  min-height: 0;
}
.ctn-refresh .footer_wrapper :is(.footer_row_1, .footer_row_2) {
  font-size: 15px;
  line-height: 1.65;
}
.ctn-refresh .footer_wrapper .mod-list.nav { gap: 10px 20px; }

/* Joomla's outer headings and metadata. No descendant heading reset in articles. */
.ctn-refresh:not(.ctn-component-oscampus) .page-header > :is(h1, h2),
.ctn-refresh .com-content-category-blog > :is(h1, h2) {
  font-family: var(--ctnr-heading);
  color: var(--ctnr-ink);
  font-size: clamp(30px, 3.7vw, 48px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -.025em;
  margin: 0 0 24px;
  overflow-wrap: break-word;
}
.ctn-refresh .com-content-category-blog__item > .page-header > h2,
.ctn-refresh .com-content-category-blog__item > .item-content > .page-header > h2 {
  font-size: clamp(24px, 2.4vw, 32px);
  line-height: 1.25;
}
.ctn-refresh :is(.com-content-article, .com-content-category-blog__item) > .article-info,
.ctn-refresh .com-content-category-blog__item > .item-content > .article-info {
  color: var(--ctnr-muted);
  font-size: 13px;
  line-height: 1.6;
  margin-top: 0;
  margin-bottom: 28px;
}
.ctn-refresh :is(.com-content-article, .com-content-category-blog__item) > .article-info dd,
.ctn-refresh .com-content-category-blog__item > .item-content > .article-info dd {
  margin: 0 0 3px;
  font-size: inherit;
  line-height: inherit;
}
.ctn-refresh .article-info .icon-fw { font-size: 12px; width: 1.4em; }
.ctn-refresh .article-info a { color: #76514a; }
.ctn-refresh.blog .pad_content { max-width: 1200px; margin-inline: auto; }
.ctn-refresh.blog .com-content-category-blog__items.blog-items.columns-3 { gap: 28px; }
.ctn-refresh.blog .com-content-category-blog__items.blog-items.columns-3 .com-content-category-blog__item.blog-item {
  box-sizing: border-box;
  min-width: 0;
  width: calc((100% - 56px) / 3);
  margin-right: 0;
}
.ctn-refresh.blog .com-content-article > :is(.page-header, .article-info) {
  max-width: 1000px;
  margin-inline: auto;
}
.ctn-refresh.blog .com-content-article__body > :is(h2, h3) {
  font-family: var(--ctnr-heading);
  font-size: clamp(26px, 3vw, 36px);
  font-weight: 400;
  line-height: 1.25;
}
.ctn-refresh .com-content-category-blog__items .readmore {
  font-size: 15px;
  border-color: var(--ctnr-border);
  border-radius: 9px;
  padding: 9px 15px;
}
.ctn-refresh .pagenavigation { margin: 48px 0 24px; }
.ctn-refresh .pagenavigation .pagination { gap: 12px; padding-left: 0; }
.ctn-refresh .pagenavigation .pagination .btn.btn-sm.btn-secondary {
  font-size: 15px;
  line-height: 1.5;
  border-color: var(--ctnr-border);
  border-radius: 9px;
}

/* Home: keep every section, illustration and content block. */
.ctn-refresh.home .wrapper_content.gray,
.ctn-refresh.home .wrapper_content.home_part_7.gongfu_learning,
.ctn-refresh.home .wrapper_content.home_part_9.example_classes,
.ctn-refresh.home .wrapper_content.home_part_10.testimonials { background-color: var(--ctnr-paper); }
.ctn-refresh.home .wrapper_content.home_part_3,
.ctn-refresh.home .wrapper_content.home_part_5,
.ctn-refresh.home .wrapper_content.home_part_8.featured_online_events { background-color: #fff; }
.ctn-refresh.home .wrapper_content :is(.content_left, .content_right) { box-sizing: border-box; min-width: 0; }
.ctn-refresh.home .wrapper_content :is(h1, h2) {
  font-family: var(--ctnr-heading);
  font-size: clamp(32px, 3.7vw, 50px);
  font-weight: 400;
  line-height: 1.18;
  letter-spacing: -.025em;
  color: var(--ctnr-ink);
}
.ctn-refresh.home .wrapper_content.home_part_1 .content_left { padding-left: clamp(20px, 6vw, 100px); }
.ctn-refresh.home .wrapper_content.home_part_1 .title_block { padding-top: 48px; }
.ctn-refresh.home .wrapper_content.home_part_1 .content_left .title_block h1 {
  font-size: clamp(42px, 4.8vw, 68px);
  line-height: 1.08;
  margin-bottom: 0;
}
.ctn-refresh.home .wrapper_content.home_part_1 .header_underline { margin-top: 12px; }
.ctn-refresh.home .wrapper_content.home_part_1 .header_underline img { width: min(310px, 85%); }
.ctn-refresh.home .wrapper_content.home_part_1 .content_left > p:first-of-type { margin-top: 28px !important; }
.ctn-refresh.home .wrapper_content.home_part_1 .content_left > div[style*="display:flex"] > a {
  box-sizing: border-box;
  border-radius: 9px;
  font-size: 16px;
  min-height: 46px;
}
.ctn-refresh.home .wrapper_content.home_part_1 .content_left > div[style*="display:flex"] > a:first-child {
  background: var(--ctnr-red) !important;
  color: #fff !important;
}
.ctn-refresh.home .wrapper_content.home_part_1 .content_left > div[style*="display:flex"] > a:first-child:hover { background: var(--ctnr-red-hover) !important; }
.ctn-refresh.home .wrapper_content.home_part_1 .teaser_flex div { margin-top: 24px; height: auto; border-color: var(--ctnr-border); }
.ctn-refresh.home .wrapper_content.home_part_1 .teaser_flex p { margin: 0 0 12px; font-size: 15px; line-height: 1.5; }
.ctn-refresh.home .wrapper_content.home_part_1 .content_left > div[style*="height: 100px"] { height: 48px !important; }
.ctn-refresh.home .wrapper_content.home_part_2 .content_right { overflow: visible; padding-right: clamp(20px, 4vw, 70px); }
.ctn-refresh.home .wrapper_content.home_part_2 .button_online-classes_flex { gap: 18px; }
.ctn-refresh.home .wrapper_content.home_part_2 .button_online-classes_flex > div { flex: 1 1 0; min-width: 0; }
.ctn-refresh.home .wrapper_content.home_part_2 .button_online-classes_flex img { max-width: 100%; height: auto; border-radius: 10px; }
.ctn-refresh.home .wrapper_content.home_part_2 .button_online-classes_flex p { font-size: 16px; line-height: 1.4; }
.ctn-refresh.home .wrapper_content.home_part_8.featured_online_events,
.ctn-refresh.home .wrapper_content.home_part_9.example_classes { padding: 56px clamp(20px, 5vw, 80px); }
.ctn-refresh.home .wrapper_content.home_part_5 { padding: 56px clamp(20px, 6vw, 100px); }
.ctn-refresh :is(a, button).black-sqare {
  display: inline-block;
  box-sizing: border-box;
  padding: 12px 20px;
  background: var(--ctnr-red);
  border-color: var(--ctnr-red);
  border-radius: 9px;
  color: #fff;
  font-size: 16px;
  line-height: 1.5;
}
.ctn-refresh :is(a, button).black-sqare:hover { background: var(--ctnr-red-hover); border-color: var(--ctnr-red-hover); color: #fff; }

/* DPCalendar: retain its event colours, recurrence, links, maps and booking controls. */
.ctn-refresh :is(.com-dpcalendar-timeline, .com-dpcalendar-event, .com-dpcalendar-calendar, .com-dpcalendar-bookingform, .com-dpcalendar-booking, .com-dpcalendar-tickets) {
  color: var(--ctnr-ink);
  font-size: 17px;
  line-height: 1.65;
  --dp-font-size: 17px;
}
.ctn-refresh .com-dpcalendar-timeline .com-dpcalendar-timeline__custom-text { padding: 24px 0 36px; }
.ctn-refresh .com-dpcalendar-timeline__custom-text :is(h1, h2),
.ctn-refresh .com-dpcalendar-event > :is(h1, h2),
.ctn-refresh .com-dpcalendar-event__header :is(h1, h2) {
  font-family: var(--ctnr-heading);
  font-size: clamp(30px, 3.7vw, 48px);
  font-weight: 400;
  line-height: 1.18;
  margin: 0 0 22px;
}
.ctn-refresh .com-dpcalendar-event :is(h2, h3).dp-heading,
.ctn-refresh :is(.com-dpcalendar-bookingform, .com-dpcalendar-booking, .com-dpcalendar-tickets) :is(h2, h3) {
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: 23px;
  line-height: 1.35;
  font-weight: 500;
}
.ctn-refresh .com-dpcalendar-event__information,
.ctn-refresh .com-dpcalendar-event__booking {
  font-size: 16px;
  line-height: 1.65;
}
.ctn-refresh .com-dpcalendar-timeline .dp-event__information {
  background: #fff;
  border: 1px solid var(--ctnr-border);
  border-radius: var(--ctnr-radius);
  box-shadow: var(--ctnr-shadow);
}
.ctn-refresh .com-dpcalendar-timeline h2.dp-event__title {
  font-family: var(--ctnr-heading);
  font-size: 22px;
  font-weight: 500;
  line-height: 1.3;
  border-radius: 13px 13px 0 0;
  padding: 16px 20px;
  overflow-wrap: break-word;
}
.ctn-refresh .com-dpcalendar-timeline .dp-event__description { line-height: 1.7; }
.ctn-refresh .com-dpcalendar-timeline .dp-event__description > :is(h2, h3) { font-size: 22px; line-height: 1.35; }
.ctn-refresh .com-dpcalendar-timeline .dp-event__details { font-size: 15px; line-height: 1.65; }
/* Image dimensions and object-fit come unchanged from the original template. */
.ctn-refresh .com-dpcalendar-timeline .btn.btn-secondary { font-size: 15px; padding: 8px 14px; border-color: var(--ctnr-border); border-radius: 9px; }

.ctn-refresh .dp-link_cta,
.ctn-refresh .dp-link_cta:hover,
.ctn-refresh a.dp-button.dp-button_cta,
.ctn-refresh button.dp-button.dp-button-action.dp-button-save,
.ctn-refresh button.dp-button.dp-button-action.dp-button-cancel {
  --dp-color: #8d302c;
  box-sizing: border-box;
  max-width: 100%;
  width: auto;
  min-height: 44px;
  height: auto;
  padding: 11px 18px !important;
  background-color: var(--ctnr-red) !important;
  border: 1px solid var(--ctnr-red) !important;
  border-radius: 9px !important;
  color: #fff !important;
  font-family: 'DM Sans', Arial, sans-serif;
  font-size: 16px !important;
  font-weight: 500;
  line-height: 1.5 !important;
  text-align: center;
  white-space: normal;
  text-decoration: none;
}
.ctn-refresh .dp-link_cta:hover,
.ctn-refresh a.dp-button.dp-button_cta:hover,
.ctn-refresh button.dp-button.dp-button-action.dp-button-save:hover { background-color: var(--ctnr-red-hover) !important; }
.ctn-refresh button.dp-button.dp-button-action.dp-button-cancel {
  background: #fff !important;
  border-color: var(--ctnr-border) !important;
  color: var(--ctnr-ink) !important;
}
.ctn-refresh button.dp-button.dp-button-action:disabled,
.ctn-refresh .dp-link_cta[aria-disabled="true"] {
  background: #eee8df !important;
  border-color: #d0c4b5 !important;
  color: #71665a !important;
  cursor: not-allowed;
}
.ctn-refresh :is(.com-dpcalendar-bookingform, .com-dpcalendar-booking, .com-dpcalendar-tickets) :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea) {
  box-sizing: border-box;
  max-width: 100%;
  min-height: 44px;
  font-size: 16px;
  border-radius: 7px;
}
.ctn-refresh :is(.com-dpcalendar-bookingform, .com-dpcalendar-booking, .com-dpcalendar-tickets) .dp-table { font-size: 15px; line-height: 1.55; }
.ctn-refresh :is(.com-dpcalendar-bookingform, .com-dpcalendar-booking, .com-dpcalendar-tickets) .dp-table :is(th, td) { padding: 10px 12px; }
.ctn-refresh .com-dpcalendar-bookingform__events .dp-table__thead { background: var(--ctnr-red); color: #fff; }

/* Compact month/week/list views. Never change calendar mode or hide event text. */
.ctn-refresh .com-dpcalendar-calendar .fc { font-size: 15px; line-height: 1.45; }
.ctn-refresh .com-dpcalendar-calendar .fc-toolbar-title { font-size: clamp(22px, 2.5vw, 30px); line-height: 1.3; font-weight: 500; }
.ctn-refresh .com-dpcalendar-calendar .fc-toolbar { flex-wrap: wrap; gap: 12px; }
.ctn-refresh .com-dpcalendar-calendar .fc-button { font-size: 14px; line-height: 1.5; min-height: 40px; }
.ctn-refresh .com-dpcalendar-calendar .fc-event { font-size: 13px; line-height: 1.4; border-radius: 6px; }
.ctn-refresh .com-dpcalendar-calendar .fc-event-main { padding: 5px; }
.ctn-refresh .com-dpcalendar-calendar .fc-daygrid-event-harness { margin-inline: 2px; }
.ctn-refresh .com-dpcalendar-calendar .fc-daygrid-event { white-space: normal; }
.ctn-refresh .com-dpcalendar-calendar .fc-event-title { overflow-wrap: anywhere; }
.ctn-refresh .com-dpcalendar-calendar .fc-day-today { background-color: #f7eedb !important; }
.ctn-refresh .com-dpcalendar-calendar :is(.fc-scrollgrid, .fc-theme-standard td, .fc-theme-standard th) { border-color: var(--ctnr-border); }
.ctn-refresh .com-dpcalendar-calendar .fc-col-header-cell { background: var(--ctnr-paper-deep); }

/* Use an outline around the calendar without changing its measured content width.
 * No clipping: popovers, event links and focus indicators remain visible. */
.ctn-refresh .com-dpcalendar-calendar .fc {
  outline: 1px solid var(--ctnr-border);
  outline-offset: 6px;
  border-radius: var(--ctnr-radius);
}
.ctn-refresh .com-dpcalendar-calendar .fc-toolbar-title { font-family: var(--ctnr-heading); }
.ctn-refresh .com-dpcalendar-event__information,
.ctn-refresh .com-dpcalendar-event__booking {
  background-color: #fff;
  border: 1px solid var(--ctnr-border);
  border-radius: var(--ctnr-radius);
  box-sizing: border-box;
  padding: 16px;
}

/* Home / module event cards: leave the module's flex arrangement intact. */
.ctn-refresh .mod-dpcalendar-upcoming-horizontal__event {
  box-sizing: border-box;
  border: 1px solid var(--ctnr-border);
  box-shadow: var(--ctnr-shadow);
  border-radius: var(--ctnr-radius);
  background-color: #fff;
  font-size: 17px;
  line-height: 1.65;
}
.ctn-refresh .mod-dpcalendar-upcoming-horizontal__event .dp-event__title { font-size: 22px; line-height: 1.3; }
/* The current module uses a title link, not an h2.dp-event__title. */
.ctn-refresh .mod-dpcalendar-upcoming-horizontal__information > a.dp-event-url {
  font-family: var(--ctnr-heading);
  font-size: 22px;
  font-weight: 400;
  line-height: 1.3;
  color: var(--ctnr-ink);
}
.ctn-refresh .mod-dpcalendar-upcoming-horizontal__event .course_date { color: var(--ctnr-muted); }
.ctn-refresh.home .wrapper_content.home_part_8 .mod-dpcalendar-upcoming-horizontal__event :is(h2, h3) { font-size: 23px; line-height: 1.3; }

/* eLibrary: align the existing header cells; retain all grid positions and states. */
.ctn-refresh:is(.elibrary, .elibrary-2) .com-content-article.item-page > .item-image,
.ctn-refresh:is(.elibrary, .elibrary-2) .com-content-article.item-page > .article-info {
  margin-top: 0;
  margin-bottom: 0;
}

.ctn-refresh:is(.elibrary, .elibrary-2) .category-information,
.ctn-refresh:is(.elibrary, .elibrary-2) .com-content-article.item-page .article-info { background-color: #fff; }
.ctn-refresh:is(.elibrary, .elibrary-2) .category-info { font-size: 15px; line-height: 1.65; }
.ctn-refresh:is(.elibrary, .elibrary-2) .dp-grid > :is(.dp-grid__col-8, .dp-grid__col-4) { min-width: 0; overflow-wrap: break-word; }
.ctn-refresh:is(.elibrary, .elibrary-2) .com-content-article__body > .dp-grid { font-size: 17px; line-height: 1.75; }
.ctn-refresh:is(.elibrary, .elibrary-2) :is(.category-desc, .com-content-article__body) > :is(h2, h3),
.ctn-refresh:is(.elibrary, .elibrary-2) .dp-grid > :is(.dp-grid__col-8, .dp-grid__col-4) > :is(h2, h3) { font-size: 26px; line-height: 1.3; }
.ctn-refresh:is(.elibrary, .elibrary-2) [data-rlta-element="container"][data-rlta-state="ready"][data-rlta-theme="neutral"][data-rlta-type="accordions"] > [data-rlta-element="button"] {
  background-color: var(--ctnr-red);
  border-color: var(--ctnr-border);
  border-radius: 7px;
}
.ctn-refresh:is(.elibrary, .elibrary-2) [data-rlta-type="accordions"] > [data-rlta-element="button"] h3 { font-size: 18px; line-height: 1.45; }
.ctn-refresh:is(.elibrary, .elibrary-2) [data-rlta-element="container"][data-rlta-state="ready"][data-rlta-theme="neutral"][data-rlta-type="accordions"] > [data-rlta-element="button"]:is(:hover, :focus, [aria-expanded="true"]) { background-color: var(--ctnr-paper-deep); }
.ctn-refresh:is(.elibrary, .elibrary-2) [data-rlta-type="accordions"] > [data-rlta-element="button"]:is(:hover, :focus, [aria-expanded="true"]) :is(h3, h3 a) { color: var(--ctnr-red); }
.ctn-refresh:is(.elibrary, .elibrary-2) .mod-breadcrumbs { font-size: 14px; line-height: 1.6; }

/* Help / etiquette retain their existing image-text arrangement. */
.ctn-refresh:is(.help, .help-2, .etiquette, .etiquettes) .content :is(h1, h2):not([style]) {
  font-family: var(--ctnr-heading);
  font-size: clamp(30px, 3.7vw, 48px);
  font-weight: 400;
  line-height: 1.2;
}
.ctn-refresh:is(.help, .help-2, .etiquette, .etiquettes) .content h3:not([style]) { font-size: 25px; line-height: 1.35; }

@media (min-width: 641px) and (max-width: 1024px) {
  .ctn-refresh.blog .com-content-category-blog__items.blog-items.columns-3 .com-content-category-blog__item.blog-item { width: calc((100% - 28px) / 2); }
}
@media (max-width: 640px) {
  .ctn-refresh.blog .com-content-category-blog__items.blog-items.columns-3 .com-content-category-blog__item.blog-item { width: 100%; }
}
@media (max-width: 768px) {
  body.ctn-refresh { font-size: 17px; line-height: 1.7; }
  .ctn-refresh .header .header_wrapper { padding: 12px 16px; }
  .ctn-refresh .grid-container .logo .custom img { width: 82px; margin: 0; }
  .ctn-refresh .mobilebarmaximenuck,
  .ctn-refresh .mobilemenuck-bar-title { background: var(--ctnr-paper) !important; }
  .ctn-refresh .content .pad_content { box-sizing: border-box; padding: 28px 18px; }
  .ctn-refresh.home .content .pad_content,
  .ctn-refresh.startpage .content .pad_content { padding: 0; }
  .ctn-refresh.home .wrapper_content.home_part_1,
  .ctn-refresh.home .wrapper_content.home_part_3,
  .ctn-refresh.home .wrapper_content.home_part_7.gongfu_learning { padding-inline: 0; }
  .ctn-refresh.home .wrapper_content.home_part_1 .content_left { width: 100%; padding: 0 20px; }
  .ctn-refresh.home .wrapper_content.home_part_1 .title_block { padding-top: 28px; }
  .ctn-refresh.home .wrapper_content.home_part_1 .asterisk { margin-left: min(74%, 280px); }
  .ctn-refresh.home .wrapper_content.home_part_1 .content_left > div[style*="display:flex"] > a { width: 100%; text-align: center; }
  .ctn-refresh.home .wrapper_content.home_part_2 .content_right { width: 100%; min-width: 0; padding: 24px 20px 0; }
  .ctn-refresh.home .wrapper_content.home_part_2 .button_online-classes_flex > div { border-radius: 10px; }
  .ctn-refresh.home .wrapper_content.home_part_3 .content_left,
  .ctn-refresh.home .wrapper_content.home_part_7.gongfu_learning .content_right { width: 100%; padding-inline: 20px; }
  .ctn-refresh.home .wrapper_content.home_part_8.featured_online_events,
  .ctn-refresh.home .wrapper_content.home_part_9.example_classes,
  .ctn-refresh.home .wrapper_content.home_part_5 { padding: 36px 20px; }
  .ctn-refresh.home .wrapper_content.home_part_9 .video_wrapper .video_example_classes { box-sizing: border-box; width: 100%; min-width: 0; }
  .ctn-refresh .mod-dpcalendar-upcoming-horizontal__event.dp-event { min-width: 0 !important; max-width: 100% !important; width: 100% !important; margin-inline: 0 !important; }
  .ctn-refresh .com-dpcalendar-timeline h2.dp-event__title { font-size: 20px; padding: 14px 16px; }
  .ctn-refresh .com-dpcalendar-calendar .fc-toolbar-chunk { max-width: 100%; }
  .ctn-refresh .com-dpcalendar-calendar .fc-toolbar .fc-button-group { flex-wrap: wrap; }
  .ctn-refresh .com-dpcalendar-calendar .fc-button { font-size: 13px; padding: 7px 9px; }
  .ctn-refresh .com-dpcalendar-calendar .fc-event { font-size: 12px; line-height: 1.4; }
  .ctn-refresh .com-dpcalendar-calendar .fc-event-main { padding: 3px; }
  .ctn-refresh .com-dpcalendar-bookingform__events { overflow-x: auto; }
  .ctn-refresh .com-dpcalendar-tickets .dp-table { display: block; overflow-x: auto; max-width: 100%; }
  .ctn-refresh:is(.elibrary, .elibrary-2) .dp-grid > .dp-grid__col-4 { padding-left: 0; }
  .ctn-refresh .footer_wrapper { padding: 32px 20px; }
}

@media print {
  .ctn-refresh .ctn-skip-link { display: none; }
  body.ctn-refresh { background: #fff; color: #000; }
}
