/* Everything Helix printed inline on the Joomla 3 site: Giver's custom_css setting verbatim, then the font settings.
   Linked after <jdoc:include type="styles" />, where Helix printed it. Design changes go at the end of this file. */
.sp-megamenu-wrapper {
    float: right !important;
    padding-left: 30px;
}

.view-adirectory.layout-blog .pagination.pagination-toolbar {
display: none;
}

#sp-header .sp-megamenu-parent > li > a {
    color: #FFF;
}
#sp-header.header-sticky .sp-megamenu-parent > li > a, #sp-header.header-sticky .logo a {
    color: #252525;
}

#sp-header.header-sticky .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
  background-color: #FFF;
}

#sp-header.header-sticky .sp-megamenu-parent .sp-dropdown .sp-dropdown-inner {
  background-color: #FFF;
}

span.logo-guingamp{
font-size: 0.699em;
text-transform: uppercase;
}

#titlecategory {margin:auto !important;}
#titlecategory .sppb-row {max-width:1080px;margin:auto !important;}

#sp-header .row {    position: relative;
    max-width: 1080px;
    margin: auto;}


.view-login #sp-main-body {    background-image: url(/images/2020/04/23/association-ti-ar-vro.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: inherit;
    background-position: 50% 50%;
    padding-top: 220px;
    padding-bottom: 120px;}

.logo a {color:#FFF;font-family: "Lora";font-weight:700;
}
span.image-logo-footer img{
width: 120px;
    display: inline-block;
    margin-right: 10px;
    margin-top: -35px;
}

.view-adirectory .layout-blog .pagination {
    display: none;
}

#adirectory .readon {
 margin-top : 10px;
    padding: 5px 12px;
    color: #FFF;
    border-color: #ab1642;
    background-color: #ab1642;
margin: 0 auto;
    display: table;
}

#adirectory .readon :hover{
    color: #000;
    background-color: #FFF;
border-color: #d50744;
}

#adirectory .category {
    margin-top: 20px;
}


.com-users #sp-main-body {max-width:1280px;margin:auto;}
.com-dpcalendar.view-form , .com-adirectory.layout-edit {background:#000;}
.com-dpcalendar.view-form #sp-main-body {max-width:1280px;margin:auto;}

.com-adirectory.layout-edit #sp-main-body {max-width:1280px;margin:auto;}

.com-users #sp-header a {color:#000;}

.com-users #sp-header .sp-dropdown-items a {color:#FFF;}

.view-form .com-dpcalendar-eventform {background-color:#fff}
body{font-family: 'Ubuntu Condensed', sans-serif;font-weight: 300;text-decoration: none;}

h2{font-family: 'Lora', sans-serif;font-size: 45px;font-weight: 600;text-decoration: none;}

/* ---- Joomla 6 template additions (not on the Joomla 3 site) ---- */

/* Go-to-top: shown by template.js past 100px (Giver faded it in with jQuery). */
.sp-scroll-up.is-visible { display: block; }

/* Oui Blocks pages span the whole width with no padding, as SP Page Builder pages did. */
.com-blocks #sp-main-body { padding: 0; }

/* Site tools (bottom left, stacked): accessibility (oui4all) above cookies (ConsentKit); black with a white icon, inverted on
   hover. Their own floating buttons are hidden (body classes); oui4all's panel opens beside them (plugin: bottom left, offset 76px). */
.tav-tools { position: fixed; left: 16px; bottom: 16px; z-index: 1000; display: flex; flex-direction: column; gap: 10px; }
.tav-tools__btn {
	display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 2px solid #000; border-radius: 50%;
	color: #fff; background: #000; box-shadow: 0 3px 10px rgba(0, 0, 0, .3); cursor: pointer;
	transition: background-color .15s, color .15s, transform .15s;
}
.tav-tools__btn:hover, .tav-tools__btn:focus-visible, .tav-tools__btn[aria-expanded="true"] { color: #000; background: #fff; }
.tav-tools__btn:hover { transform: scale(1.06); }
.tav-tools__btn:focus-visible { outline: 3px solid #fff; outline-offset: 2px; box-shadow: 0 0 0 5px #000; }
.has-consent-button .ck-icon { display: none !important; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 767.98px) {
	.tav-tools { left: 12px; bottom: 12px; gap: 8px; }
	.tav-tools__btn { width: 40px; height: 40px; }
}
@media print { .tav-tools { display: none; } }

/* Home hero (build/redesign_home.py): heading, then the join button and the HelloAsso / Facebook / X links on one row. */
.tav-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; margin-top: 10px; }
.tav-hero-actions > * { margin: 0 !important; }
.tav-btn-join .btn { border: 2px solid #000; border-radius: 999px; padding: 12px 30px; font-weight: 600; letter-spacing: .02em; }
.tav-btn-join .btn:hover, .tav-btn-join .btn:focus-visible { border-color: #fff; }
.tav-btn-join .btn .fa-chevron-right { margin-left: .35em; font-size: .8em; vertical-align: .05em; }
.tav-hero-links .ouiw-ig { align-items: center; }

/* Photo band right under the hero: several pictures a row (Oui Widgets slider), edge to edge, no gap/padding/margin, same 4:3 frame. */
.tav-band, .tav-band > .container, .tav-band > .container-fluid, .tav-band .row, .tav-band [class*="col"], .tav-band .blocks-cell { padding: 0 !important; margin: 0 !important; max-width: none; }
.tav-band .row { --bs-gutter-x: 0; --bs-gutter-y: 0; }
.tav-band .ouiw-slider { --ouiw-gap: 0px !important; margin: 0 !important; }
.tav-band .ouiw-slider__track { padding: 0 !important; gap: 0 !important; }
.tav-band .ouiw-frame { border-radius: 0; }
.tav-band .ouiw-frame__image { aspect-ratio: 4 / 3; object-fit: cover; height: auto; }

/* Account link after the last menu item (and beside the mobile menu button): a user icon. */
.tav-menu-user > .tav-account, .tav-account-mobile > .tav-account { display: inline-flex; align-items: center; justify-content: center; }
.sp-megamenu-parent > li.tav-menu-user > a { padding: 0 6px 0 14px; letter-spacing: 0; }
.sp-megamenu-parent > li.tav-menu-user > a:before { display: none; }
.tav-account svg { display: block; }
.tav-account-mobile { float: right; }
.tav-account-mobile > .tav-account { height: 120px; padding: 0 14px; color: inherit; }
#sp-header.header-sticky .tav-account-mobile > .tav-account { height: 100px; }

/* Login page (/me-connecter): white card on the site photo. */
.view-login #sp-main-body { max-width: none !important; padding-left: 16px; padding-right: 16px; }
.view-login #sp-header a, .view-login #sp-header .logo a { color: #fff; }
.view-login #sp-header.header-sticky a, .view-login #sp-header.header-sticky .logo a { color: #252525; }
.tav-login { display: flex; justify-content: center; }
.tav-login__card { width: 100%; max-width: 420px; padding: 36px 32px 28px; background: #fff; border-radius: 12px; box-shadow: 0 18px 50px rgba(0, 0, 0, .35); color: #252525; }
.tav-login__title { margin: 0; font-family: "Lora", serif; font-size: 32px; font-weight: 600; color: #000; }
.tav-login__subtitle { margin: 2px 0 24px; font-style: italic; color: #6b6b6b; }
.tav-login__field { margin-bottom: 16px; }
.tav-login__field label { display: block; margin-bottom: 6px; font-weight: 600; font-size: 15px; }
.tav-login__field .star { color: #ab1642; }
.tav-login__field .form-control-feedback { display: block; margin-top: 2px; font-size: 13px; font-weight: 400; color: #ab1642; }
.tav-login__field .form-control.invalid { border-color: #ab1642; }
.tav-login__field .form-control { height: 46px; border: 1px solid #cfcfcf; border-radius: 8px; background: #fff; font-size: 16px; }
.tav-login__field .form-control:focus { border-color: #000; box-shadow: 0 0 0 3px rgba(0, 0, 0, .12); }
.tav-login__remember { margin: 4px 0 20px; padding-left: 1.5rem; }
.tav-login__submit { display: block; width: 100%; padding: 12px; border: 2px solid #000; border-radius: 999px; background: #000; color: #fff; font-weight: 600; letter-spacing: .02em; }
.tav-login__submit:hover, .tav-login__submit:focus-visible { background: #fff; color: #000; }
.tav-login__extra { display: flex; align-items: center; justify-content: center; gap: 8px; width: 100%; margin-top: 10px; padding: 9px; border: 1px solid #cfcfcf; border-radius: 999px; background: #fff; color: #252525; font-size: 14px; }
.tav-login__extra:hover { border-color: #000; }
.tav-login__extra img, .tav-login__extra-icon, .tav-login__extra-icon svg { width: 18px !important; height: 18px !important; flex: 0 0 18px; }
.tav-login__links { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 18px; margin: 22px 0 0; padding: 0; list-style: none; font-size: 14px; }
.tav-login__links a { color: #252525; text-decoration: underline; text-underline-offset: 3px; }
.tav-login__links a:hover { color: #ab1642; }
.tav-login__description { margin-bottom: 18px; font-size: 15px; }

/* Directory listings: cards with a subtle shadow (html/com_content/category/annuaire.php). */
.tav-directory { padding-top: 50px; padding-bottom: 60px; }
.tav-directory__group + .tav-directory__group { margin-top: 56px; }
.tav-directory__heading { margin: 0 0 24px; font-size: 36px; }
.tav-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 28px; }
.tav-card { position: relative; display: flex; flex-direction: column; overflow: hidden; background: #fff; border-radius: 10px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, .06), 0 8px 24px rgba(0, 0, 0, .08); transition: box-shadow .2s, transform .2s; }
.tav-card:hover, .tav-card:focus-within { box-shadow: 0 2px 4px rgba(0, 0, 0, .08), 0 14px 34px rgba(0, 0, 0, .14); transform: translateY(-2px); }
.tav-card__media { aspect-ratio: 4 / 3; background: #f1f1f1; }
.tav-card__media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.tav-card__body { display: flex; flex: 1; flex-direction: column; padding: 18px 20px 20px; }
.tav-card__title { margin: 0 0 10px; font-family: "Ubuntu Condensed", sans-serif; font-size: 21px; line-height: 1.25; font-weight: 400; }
.tav-card__link, .tav-card__link:hover, .tav-card__link:focus { color: #000; text-decoration: none; }
.tav-card__link::after { content: ""; position: absolute; inset: 0; } /* the whole card is the link */
.tav-card__link:focus-visible { outline: none; }
.tav-card:focus-within { outline: 3px solid #000; outline-offset: 2px; }
.tav-card__intro { flex: 1; font-size: 15px; line-height: 1.5; color: #4a4a4a; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.tav-card__intro *, .tav-card__intro span[style] { font: inherit !important; color: inherit !important; margin: 0 0 .4em; text-align: left !important; }
.tav-card__more { display: inline-flex; align-items: center; gap: 8px; align-self: flex-start; margin-top: 16px; padding: 9px 18px;
	border: 2px solid #000; border-radius: 999px; background: #000; color: #fff; font-size: 14px; font-weight: 600; transition: background-color .15s, color .15s; }
.tav-card__more .fa-chevron-right { font-size: .8em; }
.tav-card:hover .tav-card__more, .tav-card:focus-within .tav-card__more { background: #fff; color: #000; }

/* Directory entry banner: name 2/3, black rounded contact frame 1/3 (html/com_content/article/annuaire.php). */
.tav-entry-top .row { margin-left: -15px; margin-right: -15px; }
.tav-entry-top__title { margin-bottom: 20px; }
.tav-contact { margin-bottom: -40px; padding: 24px; background: #000; color: #fff; border-radius: 14px; box-shadow: 0 14px 40px rgba(0, 0, 0, .35); font-size: 16px; }
.tav-contact__line { display: flex; gap: 12px; margin: 0 0 12px; line-height: 1.45; }
.tav-contact__line > .fa-solid { flex: 0 0 18px; margin-top: 3px; text-align: center; color: #fff; opacity: .85; }
.tav-contact a { color: #fff; }
.tav-contact a:hover { color: #fff; text-decoration: underline; }
.tav-contact__social { display: flex; gap: 10px; margin: 16px 0 18px; padding: 0; list-style: none; }
.tav-contact__social a { display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid rgba(255, 255, 255, .45); border-radius: 50%; color: #fff; font-size: 16px; transition: background-color .15s, color .15s; }
.tav-contact__social a:hover, .tav-contact__social a:focus-visible { background: #fff; color: #000; text-decoration: none; }
.tav-contact__button { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; margin-top: 4px; padding: 12px 18px; border: 2px solid #fff; border-radius: 999px; background: #fff; color: #000 !important; font-weight: 600; }
.tav-contact__button:hover, .tav-contact__button:focus-visible { background: #000; color: #fff !important; text-decoration: none !important; }
@media (max-width: 991.98px) { .tav-contact { margin: 10px 0 0; } }

/* Header logo text: "Ti Ar Vro" on one line ("Gwengamp" under it, after the logo's own <br>). */
#sp-logo .logo, #sp-logo .logo a { white-space: nowrap; }

/* Mobile header: menu button and account icon white on the photo, dark once the header is sticky (white background). */
#sp-header #offcanvas-toggler, #sp-header .tav-account-mobile > .tav-account { color: #fff; }
#sp-header.header-sticky #offcanvas-toggler, #sp-header.header-sticky .tav-account-mobile > .tav-account { color: #252525; }

/* Directory entry banner on phones: side padding, smaller name. */
@media (max-width: 767.98px) {
	.tav-entry-top { margin-left: 0 !important; margin-right: 0 !important; padding-top: 150px !important; padding-bottom: 50px !important; }
	.tav-entry-top > .container { padding-left: 16px; padding-right: 16px; }
	.tav-entry-top .row { margin-left: 0; margin-right: 0; }
	.tav-entry-top .row > [class*="col-"] { padding-left: 0; padding-right: 0; }
	#top h1.tav-entry-top__title { font-size: 36px; line-height: 1.2; }
}

/* Footer bottom line (build/redesign_footer.py): legal links, accessibility, agency, centred on one line. */
.tav-footer-bottom { padding: 18px 0 6px; border-top: 1px solid rgba(255, 255, 255, .15); }
.tav-footer-legal { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 4px 14px; margin: 0; text-align: center; font-size: 14px; }
.tav-footer-legal span[aria-hidden] { opacity: .5; }
@media (max-width: 767.98px) { .tav-footer-bottom { padding-bottom: 110px; } } /* room for the fixed site tools and go-to-top */

/* Footer first column (logo + social icons, SPPB column 1620391398260): centred vertically against the address columns. */
#sp-footer .blocks-col:has(> .sppb-1620391398260) { display: flex; flex-direction: column; justify-content: center; } /* the column is as tall as the row */
#sp-footer .sppb-1620391398260 { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 14px; padding-bottom: 30px; }
#sp-footer .sppb-1620391398260 > * { margin: 0 !important; }
#sp-footer .sppb-1620391398260 .image-logo-footer img { margin: 0; }
#sp-footer .sppb-1620391398260 .ouiw-ig { justify-content: center; }
.tav-footer-copy { white-space: nowrap; }
#sp-footer .tav-footer-hours strong { font-weight: 700; }
