/* ATP 0.2 — interactions shared by existing and newly imported pages. */
body{overflow-x:clip}
.atp-icon{width:18px;height:18px;flex:none;vertical-align:middle}
.atp-topbar{background:#191919;color:#ddd;font-size:11px;line-height:1.6;position:relative;z-index:40}
.topbar-inner,.topbar-contact,.topbar-socials,.academy-address,.topbar-contact>a{display:flex;align-items:center}
.topbar-inner{min-height:38px;justify-content:space-between;gap:20px;padding-block:8px}
.academy-address{gap:8px}.academy-address .atp-icon{color:#f90b0b;width:15px;height:15px}
.topbar-contact{gap:22px}.topbar-contact>a{gap:8px}.topbar-contact a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.topbar-socials{gap:12px;border-left:1px solid #555;padding-left:18px}.topbar-socials a{display:flex;padding:3px}
.site-header{position:sticky;top:0;min-height:88px;background:#000;transition:background-color .25s;isolation:isolate}
.site-header.is-scrolled{background:rgba(0,0,0,.5);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.admin-bar .site-header{top:32px}header.site-header .nav{height:88px}
.site-brand{align-self:flex-start;position:relative;z-index:2;flex:none;padding-top:8px}
.site-brand .logo,.site-brand .custom-logo{height:108px;width:140px;max-width:none;filter:drop-shadow(0 3px 5px #0007)}
.site-nav .menu>li>a{height:88px}.site-nav .menu>li>a:after{content:'';height:2px;position:absolute;bottom:23px;left:0;right:0;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .22s}
.site-nav .menu>li:hover>a:after,.site-nav .menu>li:focus-within>a:after,.site-nav .current-menu-item>a:after,.site-nav .current-menu-ancestor>a:after{transform:scaleX(1)}
.site-nav .sub-menu{top:76px}.site-nav .sub-menu a:hover,.site-nav .sub-menu a:focus-visible{text-decoration:underline;text-underline-offset:5px}
html{scroll-padding-top:150px}.activities article{border:3px solid var(--red);overflow:hidden;display:flex;flex-direction:column;transition:background .25s,color .25s}
.activity-image{overflow:hidden}.activities .activity-photo{transition:transform .5s;width:100%;display:block}
.activity-body{flex:1;padding:26px 18px 28px;display:flex;flex-direction:column;align-items:center}
.activity-body .text-link{margin-top:auto;padding-block:8px;text-underline-offset:6px}
.activities article:hover,.activities article:focus-within{background:#000;color:#fff}
.activities article:hover p,.activities article:focus-within p,.activities article:hover .activity-no,.activities article:focus-within .activity-no,.activities article:hover .text-link span,.activities article:focus-within .text-link span{color:#fff}
.activities article:hover .activity-photo,.activities article:focus-within .activity-photo{transform:scale(1.07)}
.activities article:hover .text-link,.activities article:focus-within .text-link{text-decoration:underline;text-decoration-thickness:2px}
.partner-logos>div{background:transparent}.partner-logos img,.sponsor-grid img,.main-sponsor>img{filter:grayscale(1);mix-blend-mode:multiply;transition:filter .3s,transform .3s}
.partner-logos>div:hover img,.partner-logos>div:focus-visible img,.sponsor-grid>div:hover img,.main-sponsor>img:hover{filter:grayscale(0);transform:scale(1.12)}
.sub-partners{background:#f7f7f7}.sponsor-grid>div{background:transparent}
.partner-crawler{overflow:hidden;margin-top:32px;padding-block:10px;position:relative}
.partner-crawler .partner-logos{display:flex;width:max-content;margin:0;gap:0;animation:atp-partners 32s linear infinite}
.partner-crawler .partner-logos>div{flex:0 0 clamp(140px,16vw,190px);width:clamp(140px,16vw,190px);height:110px;padding:16px 22px}
.partner-crawler .partner-logos>div{background:#f7f7f7;isolation:isolate}
.partner-crawler:hover .partner-logos,.partner-crawler:focus-within .partner-logos,.partner-crawler.is-paused .partner-logos{animation-play-state:paused}
.crawler-control{display:block;margin:12px auto 0;background:transparent;border:1px solid #888;color:#333;padding:9px 16px;font-size:11px}
@keyframes atp-partners{to{transform:translateX(-50%)}}
.facebook-feed-slot{margin-top:42px}.facebook-feed-slot:empty{display:none}
.recruit .btn{border:3px solid var(--red);transition:background .25s,border-color .25s;min-height:58px}
.recruit .btn:hover,.recruit .btn:focus-visible{background:transparent;border-color:#fff;color:#fff}
.recruit-contact{border:3px solid #fff;padding:30px 26px;transition:background .25s,color .25s}
.recruit-contact>strong{font-size:clamp(22px,2.2vw,32px);letter-spacing:0;margin:20px 0}
.recruit-contact>strong a{display:flex;align-items:center;gap:12px;white-space:nowrap}.recruit-contact>strong .atp-icon{width:25px;height:25px}
.recruit-contact .registration-link{text-decoration:underline;text-underline-offset:4px}
.recruit-contact:hover,.recruit-contact:focus-within{background:var(--red);color:#fff;animation:atp-bounce .65s ease both}
.recruit-contact:hover p,.recruit-contact:focus-within p{color:#fff}
@keyframes atp-bounce{0%,100%{transform:translateY(0)}35%{transform:translateY(-9px)}65%{transform:translateY(-3px)}}
.gallery-grid>a,.sub-gallery-grid>a{overflow:hidden;background:#111}
.gallery-grid img,.sub-gallery-grid img{filter:grayscale(1);transition:filter .4s,transform .6s}
.gallery-grid a:hover img,.gallery-grid a:focus-visible img,.sub-gallery-grid a:hover img,.sub-gallery-grid a:focus-visible img{filter:grayscale(0);transform:scale(1.07)}
footer{background-color:#101113;background-image:linear-gradient(115deg,#0a0a0aef,#252629d9),repeating-linear-gradient(135deg,transparent 0 75px,#ffffff10 76px 77px,transparent 78px 150px);overflow:hidden}
footer:after{content:'';position:absolute;width:650px;height:650px;border:1px solid #ffffff09;border-radius:50%;right:-180px;top:0;pointer-events:none}
.footer-inner,.footer-menu,.copyright{position:relative;z-index:1}
.footer-menu{padding-bottom:20px}.footer-menu ul{font-size:11px;line-height:1.7;gap:12px 24px;margin:0;padding:0;align-items:flex-start}
.footer-menu a{height:auto;display:inline;font-size:inherit;white-space:normal}
.footer-menu ul ul{display:block;margin-top:8px;padding-left:12px;border-left:1px solid #555}.footer-menu li li{margin-top:5px}.footer-menu a:hover{text-decoration:underline;text-underline-offset:4px}
.atp-reveal{--atp-x:0px;--atp-y:36px;transition:opacity .7s ease,translate .7s ease}
.atp-reveal[data-reveal-direction=left]{--atp-x:-36px;--atp-y:0px}.atp-reveal[data-reveal-direction=right]{--atp-x:36px;--atp-y:0px}.atp-reveal[data-reveal-direction=down]{--atp-y:-28px}
.atp-reveal.is-waiting{opacity:0;translate:var(--atp-x) var(--atp-y)}
@media(min-width:1001px){.site-header .site-nav{min-width:0}}
@media(max-width:1000px){header.site-header .nav{height:78px}.site-header{min-height:78px}.site-brand .logo,.site-brand .custom-logo{width:112px;height:91px}.site-nav{top:78px}.site-nav .menu>li>a{height:auto}.site-nav .menu>li>a:after{bottom:5px;right:auto;width:40px}.site-nav .sub-menu{top:auto}.site-nav.is-open{max-height:calc(100dvh - 140px);overflow:auto}.topbar-inner{font-size:10px}.topbar-contact{gap:10px}.recruit-inner{gap:35px}.recruit-contact{padding:24px 18px}}
@media(max-width:782px){.admin-bar .site-header{top:46px}.topbar-inner{flex-wrap:wrap;gap:5px;justify-content:center}.topbar-contact{justify-content:center;flex-wrap:wrap}.academy-address{justify-content:center;text-align:center;width:100%}.topbar-socials{padding-left:10px}.topbar-contact>a{padding:3px 0}.recruit-contact>strong{font-size:28px}.footer-menu ul{font-size:11px}.partner-crawler .partner-logos>div{height:100px}.atp-reveal{--atp-y:20px}}
/* WordPress uses an absolute admin bar below 600px: JS tracks its visible part. */
@media(max-width:600px){.admin-bar .site-header{top:var(--atp-admin-offset,46px)}.site-header .nav{gap:12px}.recruit-contact>strong{font-size:clamp(23px,6vw,30px)}}
@media(prefers-reduced-motion:reduce){.partner-crawler{overflow-x:auto}.partner-crawler .partner-logos{animation:none}.partner-crawler [data-crawler-clone]{display:none}.atp-reveal.is-waiting{opacity:1;translate:none}.crawler-control{display:none}.recruit-contact:hover,.recruit-contact:focus-within{animation:none}}
