/* 01. Identity / Wylia-derived palette */
:root {
  --evart-ink: #0B2F3A;
  --evart-ink-dark: #01272C;
  --evart-text: #01212B;
  --evart-canvas: #E2E1C7;
  --evart-paper: #F9F7ED;
  --evart-content: #F9F8ED;
  --evart-sand: #CEBF92;
  --evart-accent: #D74628;
  --evart-link: #CC3C1F;
  --cassiopeia-color-primary: #0B2F3A;
  --cassiopeia-color-link: #CC3C1F;
  --cassiopeia-color-hover: #0B2F3A;
  --cassiopeia-font-family-body: Arial, Helvetica, sans-serif;
  --cassiopeia-font-family-headings: Arial, Helvetica, sans-serif;
}

/* 02. Site shell and typography */
body.site {
  background: var(--evart-canvas);
  color: #242424;
  font: 15px/1.55 Arial, Helvetica, sans-serif;
}
body.site a { color: var(--evart-link); text-decoration: none; }
body.site a:hover, body.site a:focus { color: var(--evart-ink); }
body.site h1, body.site h2, body.site h3, body.site h4,
body.site h5, body.site h6 { font-family: Arial, Helvetica, sans-serif; color: var(--evart-text); }
body.site h1 { font-size: 27px; line-height: 1.23; }
body.site h2 { font-size: 22px; line-height: 1.15; }
body.site h3 { font-size: 18px; line-height: 1.2; }
body.site h4 { font-size: 15px; line-height: 1.2; }
body.site img, body.site iframe { max-width: 100%; }
body.site .page-header { text-align: center; }
body.site hr { border-color: var(--evart-sand); opacity: .65; }
[class*=" icon-"] { color: var(--evart-accent); }

/* 03. Top bar: Wylia toolbar navigation and search */
.container-header {
  background: var(--evart-canvas);
  background-image: none;
  box-shadow: none;
  color: var(--evart-text);
}
.container-header .container-topbar {
  background: var(--evart-ink);
  color: var(--evart-paper);
  padding: .35rem 1rem;
}
.container-topbar .mod-menu,
.container-topbar .mod-menu > li { margin: 0; }
.container-topbar a { color: var(--evart-paper) !important; }
.container-topbar a:hover, .container-topbar a:focus,
.container-topbar .active > a { color: var(--evart-accent) !important; }
.container-topbar .mod-menu { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .3rem; }
.container-topbar input, .container-topbar .form-control { background: var(--evart-paper); color: var(--evart-text); }
.container-topbar .metismenu.mod-menu .metismenu-item { font-size: 1rem; padding: .5em .9em; }
/* Wylia had a large, centered logo on an ivory panel. */
.container-header > .grid-child:has(.navbar-brand) {
  background: var(--evart-canvas);
  justify-content: center;
  text-align: center;
}
.container-header .navbar-brand { margin: 0 auto; text-align: center; padding: 17px 20px 12px; }
.container-header .navbar-brand img { max-width: 100%; height: auto; }
.container-header .navbar-brand a,
.container-header .navbar-brand a:hover { color: var(--evart-ink); }

/* The visible Joomla 4 menu can live in menu; this is NOT hidden. */
.container-header .container-nav { background: var(--evart-ink); border: 0; }
.container-header .container-nav .mod-menu > li > a,
.container-header .container-nav .mod-menu > li > span,
.container-header .container-nav .metismenu > li > a,
.container-header .container-nav .metismenu > li > button {
  color: var(--evart-paper);
}
.container-header .container-nav .mod-menu > li > a:hover,
.container-header .container-nav .mod-menu > li.active > a,
.container-header .container-nav .metismenu > li > a:hover,
.container-header .container-nav .metismenu > li.active > a { color: var(--evart-accent); }
.container-header .container-nav .metismenu > li.active,
.container-header .container-nav .mod-menu > li.active { background-color: rgba(0,0,0,.32); }
.container-header .metismenu .mm-collapse,
.container-header .metismenu .mm-show,
.container-header .metismenu .mod-menu__sub { background: #3E4147; }
.container-header .metismenu .mm-collapse a,
.container-header .metismenu .mm-show a { color: var(--evart-paper); }
.container-header .metismenu .mm-collapse a:hover,
.container-header .metismenu .mm-show a:hover { color: var(--evart-accent); }
.container-header .container-nav [class^="icon-"],
.container-header .container-nav [class*=" icon-"] { color: var(--evart-accent); }
.container-header .container-nav .navbar-toggler,
.container-header .container-nav .mm-toggler { color: var(--evart-paper); border-color: var(--evart-sand); }


/* Header topbar: menu and Smart Search side by side on desktop. */
.container-topbar .metismenu.mod-menu .parent > ul {
  background-color: var(--evart-ink);
}
@media (min-width: 992px) {
  .container-header .container-topbar {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: center;
    gap: 7px;
    width: 100%;
    margin-inline: auto;
    padding: 0 .5rem;
    box-sizing: border-box;
  }
  .container-topbar > nav,
  .container-topbar > .mod-menu { flex: 0 1 auto; min-width: 0; }
  .container-topbar .mod-menu > li > a { padding-inline: .45rem; white-space: nowrap; }
  .container-topbar .mod-finder { flex: 0 0 165px; width: 165px; margin-left: auto; }
  .container-topbar .mod-finder input { width: 100%; min-width: 0; box-sizing: border-box; }

  /* Desktop mouse hover: keep the submenu in flow for keyboard focus too. */
  .container-topbar .metismenu.mod-menu .metismenu-item:is(:hover, :focus-within) > .mm-collapse {
    display: block !important;
    height: auto !important;
    visibility: visible;
    opacity: 1;
  }
  .container-topbar .metismenu.mod-menu .metismenu-item:not(:hover):not(:focus-within) > .mm-collapse {
    display: none !important;
  }
  .container-topbar .metismenu.mod-menu .metismenu-item { position: relative; }
  .container-topbar .metismenu.mod-menu .mm-collapse { z-index: 1000; }
  .container-topbar .metismenu.mod-menu .mm-collapse > li { padding: 0; }
  .container-topbar .metismenu.mod-menu .mm-collapse > li > a {
    display: block;
    width: 100%;
    padding: 12px 18px;
    box-sizing: border-box;
    text-decoration: none;
    transition: background-color .2s ease, color .2s ease;
  }
  .container-topbar .metismenu.mod-menu .mm-collapse > li:hover > a,
  .container-topbar .metismenu.mod-menu .mm-collapse > li > a:focus-visible {
    background-color: var(--evart-sand);
    color: var(--evart-ink) !important;
  }
}

/* 04. Main page regions / default Cassiopeia grid retained */
.site-grid { background: var(--evart-content); grid-gap: 0 1rem; }
.site-grid > .grid-child { min-width: 0; }
.container-component { background: var(--evart-content); padding-top: 1rem; padding-bottom: 1.5rem; }
.container-banner { background: var(--evart-sand); }
.container-banner > * { max-width: 100%; }
.container-top-a, .container-top-b,
.container-bottom-a, .container-bottom-b { background: var(--evart-content); }
.container-sidebar-left, .container-sidebar-right { background: var(--evart-content); }

/* Static layout: continuous side color; interior panels remain ivory. */
body.wrapper-static .site-grid { background-color: var(--evart-canvas); }
body.wrapper-static .site-grid > .grid-child,
body.wrapper-static .site-grid > .container-component {
  background-color: var(--evart-paper);
  padding: 1rem;
}

/* 05. Module panels: style Cassiopeia cards without requiring custom positions. */
body.site .card { border-color: var(--evart-canvas); border-radius: 0; background: var(--evart-paper); box-shadow: none; }
body.site .card-header { background: var(--evart-canvas); border-color: var(--evart-sand); color: var(--evart-text); }
body.site .card-header, body.site .card-header .card-title,
body.site .card-header h3 { text-transform: none; }
body.site .card-body { color: #242424; }
.container-sidebar-right .card, .container-sidebar-left .card { margin-bottom: 1rem; }
.container-main-top .card, .container-main-bottom .card { margin-bottom: 1rem; }
body.site .card a:not(.btn) { color: var(--evart-link); }
body.site .card a:not(.btn):hover { color: var(--evart-ink); }

/* For modules carrying Joomla module class "ms3" / "_ms3" */
body.site .ms3, body.site .module_ms3, body.site .moduletable_ms3 {
  background: var(--evart-canvas); position: relative;
}
body.site .ms3::after, body.site .module_ms3::after, body.site .moduletable_ms3::after {
  content: ""; position: absolute; top: 0; right: 0;
  width: 0; height: 0;
  border-top: 32px solid var(--evart-accent);
  border-left: 32px solid transparent;
}
body.site .ms5 a:not(.btn), body.site .module_ms5 a:not(.btn) { color: #FF8C00; }


/* 06. Content and Joomla 4 blog/list views */
body.site .blog .blog-item { text-align: center; }
body.site .blog .blog-item .item-image { margin-inline: auto; }
body.site .blog .blog-item .item-image img { max-width: 100%; height: auto; }
body.site .breadcrumb { background: transparent; font-size: 14px; }
body.site .breadcrumb a, body.site .breadcrumb span { text-transform: none; }
body.site .nav-tabs .nav-link { background: var(--evart-sand); color: var(--evart-paper); }
body.site .nav-tabs .nav-link.active { background: var(--evart-paper); color: var(--evart-ink); }
body.site .table-striped > tbody > tr:nth-of-type(odd) > * { background-color: var(--evart-canvas); }
body.site .table thead th { text-transform: none; }
body.site .badge.bg-info, body.site .badge.text-bg-info { background: var(--evart-sand) !important; color: var(--evart-text); }
body.site blockquote cite { color: #027D64; }

blockquote {
    background-image: url('/images/bq-top.png');
    background-repeat: no-repeat;
    border-left: none;
    color: #3e4147;
    font-style: italic;
    padding: 16px 0 16px 24px;
}

blockquote p {
    background-image: url('/images/bq-bottom.png');
    background-position: right bottom;
    background-repeat: no-repeat;
    font-size: 22px;
    padding-bottom: 16px;
    padding-right: 24px;
}


/* Joomla article full-image: cap at 50% on desktop, stack on mobile. */
@media (min-width: 768px) {
  .com-content-article .item-image { max-width: 50%; padding-right: 1rem; }
  .com-content-article .item-image img { max-width: 100%; height: auto; }
}
@media (max-width: 767.98px) {
  .com-content-article .item-image,
  .com-content-article .item-image.float-start,
  .com-content-article .item-image.float-end {
    float: none !important;
    width: 100%;
    max-width: 100%;
    display: block;
    margin: 0 0 1rem;
    clear: both;
    padding: 0;
  }
  .com-content-article .item-image img { display: block; width: 100%; height: auto; }
  .mod-finder.js-finder-searchform.form-search { text-align: center; }
}
.com-content-article.item-page a.thumbnail { text-align: center; }

/* EvArt - Article Links A, B, C */

/* Links container */
.com-content-article .content-links,
.com-content-article .com-content-article__links {
    margin: 1.5rem 0;
    padding: 15px 0;
}

/* Links list */
.com-content-article .content-links ul,
.com-content-article .com-content-article__links ul {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Each link */
.com-content-article .content-links li,
.com-content-article .com-content-article__links li {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Link appearance */
.com-content-article .content-links li > a,
.com-content-article .com-content-article__links li > a {
    display: block;
    padding: 12px 16px;
    background-color: var(--evart-sand);
    color: var(--evart-ink);
    border: 1px solid var(--evart-canvas);
    border-radius: 3px;
    font-size: 15px;
    line-height: 1.5;
    text-decoration: none;
    transition: background-color .2s ease,
                color .2s ease;
}

/* Hover and keyboard focus */
.com-content-article .content-links li > a:hover,
.com-content-article .content-links li > a:focus-visible,
.com-content-article .com-content-article__links li > a:hover,
.com-content-article .com-content-article__links li > a:focus-visible {
    background-color: var(--evart-ink);
    color: var(--evart-paper);
    border-color: var(--evart-ink);
}

/* Preserve visible keyboard focus */
.com-content-article .content-links li > a:focus-visible,
.com-content-article .com-content-article__links li > a:focus-visible {
    outline: 2px solid var(--evart-accent);
    outline-offset: 2px;
}

/* 07. Inputs and buttons */
body.site .form-control, body.site .form-select,
body.site input[type="text"], body.site input[type="email"],
body.site input[type="search"], body.site input[type="url"],
body.site input[type="tel"], body.site input[type="password"],
body.site textarea, body.site select { background-color: var(--evart-canvas); }
body.site .btn { text-transform: none; border-color: var(--evart-sand); }
body.site .btn-primary { background: var(--evart-canvas); color: var(--evart-ink); border-color: var(--evart-sand); }
body.site .btn-primary:hover, body.site .btn-primary:focus { background: var(--evart-sand); color: var(--evart-ink); }
body.site .btn-secondary { background: var(--evart-ink); color: var(--evart-paper); }
body.site .btn-secondary:hover { background: var(--evart-ink-dark); color: var(--evart-link); }
body.site .pagination .page-link { color: var(--evart-ink); background: var(--evart-paper); border-color: var(--evart-sand); }
body.site .pagination .active .page-link { color: var(--evart-paper); background: var(--evart-ink); }
body.site #jform_contact_message, body.site #jform_contact_emailmsg { max-width: 100%; width: 90%; }

/* 08. Footer: Wylia blue-green footer and light links */
.container-footer {
  background: var(--evart-ink);
  background-image: none;
  border-top: 4px solid var(--evart-content);
  box-shadow: none;
  color: #F0F0E0;
}
.container-footer a, .container-footer a:visited { color: var(--evart-paper); }
.container-footer a:hover, .container-footer a:focus { color: var(--evart-sand); }
.container-footer .mod-menu a { font-size: 13px; }
.container-footer img { float: none; }
.container-footer input[type="text"], .container-footer input[type="email"] { background: var(--evart-canvas); color: #000; }

/* 09. Existing content / extension styles that can remain in use. */
.noo-tl-item h2 a { font-size: 17px; color: var(--evart-ink); }
.noo-tl-item h2 a:hover { color: #A00000; }
.noo-tl-info { padding: 7px 40px !important; background: var(--evart-sand); }
.noo-tl-item .noo-tl-desc { color: #0F0F0F; }
.rsepro_upcoming { display: block; }
.rsepro_upcoming_ms2 { list-style: none; }
table.rs_calendar_module { font-size: 13px !important; }
table.rs_calendar_module a { line-height: 31px !important; }
table.rs_calendar_module td.has-events a { background: var(--evart-canvas) !important; }
table.rs_calendar_component { font-size: 12px; }
table.rs_calendar_component td.has-events { background: var(--evart-content) !important; }
table.rs_calendar_component td a span.rs_calendar_date { width: 100%; }
table.rs_calendar_component td.has-events a.rsttip { display: block; margin: 3px; padding: 5px 4px 5px 10px; }
.rs_event_detail { background: var(--evart-canvas) !important; }
.rs_read_more { background: var(--evart-ink-dark) !important; font-size: 18px; font-weight: bold; }
#twitter1 { background: #F9F8DE !important; border: 3px solid var(--evart-ink) !important; }
#twitter1 img { border-radius: 7px; box-shadow: -3px 0 6px -3px #000; }
#redim-cookiehint { background: var(--evart-ink) !important; }
#cookiehintsubmit { float: right; }
.pwebfblikebox.slidebox, .pwebfblikebox.sidebar, .pwebfblikebox.tab { z-index: 1100 !important; }
.fb_iframe_widget_lift, .bt-social-share iframe { max-width: none; }
.acysubbuttons { display: inline-flex; text-align: center; }
.zt-boxed .zt-item-container { padding: 10px !important; background: var(--evart-paper) !important; border: 1px solid var(--evart-canvas); }
.owl-controls .owl-page span { background: #848372 !important; }
.lightbox-411 .mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close { text-align: right !important; font-size: 2.5rem !important; }
.lightbox-411 .mfp-title { font-size: 1.5rem !important; }
.lightbox-411 .mfp-description { background: rgba(30,30,30,.8) !important; }
.blog .s2s_supra_contenedor { display: none; }
#events .item .title { word-break: normal; }
#toTop { border-radius: 22px; font-size: 12px !important; line-height: 13px; padding: 7px !important; right: 10px !important; width: 34px !important; z-index: 10000 !important; }


/* Table cells and right sidebar card bodies. */
.table > :not(caption) > * > * { background-color: var(--evart-content); }
.sidebar-right .card-body { background-color: var(--evart-canvas); }

/* 10. Responsive safety. No Bootstrap 2 .span* or broad li rules. */
@media (max-width: 991.98px) {
  .container-header .container-nav { padding-inline: 1rem; }
  .container-topbar .mod-menu { justify-content: center; }
  .container-sidebar-left, .container-sidebar-right { min-width: 0; }
  .site-grid img, .site-grid video { max-width: 100%; height: auto; }
}
@media (max-width: 767.98px) {
  .container-header .navbar-brand { padding: 12px 10px; }
  .container-header .container-topbar { padding: .5rem .75rem; }
  body.site h1 { font-size: 25px; }
  body.site h2 { font-size: 21px; }
  body.site .blog .blog-item .item-image { width: 100%; }
  .nivo-lightbox-wrap { left: 5%; right: 5%; }
  .boxplus-paging { text-align: left !important; }
  .captifyContent { display: block; margin-inline: auto !important; max-width: 88%; }
}
.footer .metismenu.mod-menu .metismenu-item {
  padding: .3em;
  font-size: 1.7rem;
}
.container-bottom-b > .bottom-b {
  min-width: 0;
  max-width: 100%;
}