
/*
EasyPeasy Website Theme CSS
Copyright (c) 2025 ezpzpage.com
All rights reserved.
Version: 1.0
Last modified: 09/2025
*/
:root { font-size: 18px; }
@media (min-width: 1400px) { :root { font-size: 19px; } }
@media (max-width: 1199.98px) { :root { font-size: 18px; } }
@media (max-width: 991.98px) { :root { font-size: 17px; } }
@media (max-width: 767.98px) { :root { font-size: 16px; } }
@media (max-width: 575.98px) { :root { font-size: 16px; } }
@media (max-width: 375px) { :root { font-size: 15px; } }



body,.formatted{font-family:'Lato', sans-serif;font-size:1rem;line-height:1.7;}
h1,h2,h3,h4{font-family:'Playfair Display', serif}
h1{font-size: 1.4em;margin-bottom: 0.3em;line-height: 1.3;font-weight: 600;}
h2{font-size: 1.2em;margin-bottom: 0.3em;line-height: 1.3;font-weight: 600;}
h3{font-size: 1em;margin-bottom: 0.3em;line-height: 1.4;font-weight: 600;}
h4{font-size: 1em;margin-bottom: 0.4em;line-height: 1.3;font-weight: 600;}
h1.sectiontitle{font-size: clamp(1.7rem, 4.8vw, 2.2em);margin-bottom: 0.3em;line-height: 1.3;font-weight: 600;}
h2.sectiontitle{font-size: clamp(1.4rem, 3.8vw, 1.8em);margin-bottom: 0.6em;line-height: 1.2;font-weight: 600;}
.welcome h2{font-size: clamp(1.2rem, 2.7vw, 1.25em);margin-bottom: 0.8em;line-height: 1.4;font-weight: 400;}
.banner .carousel-caption .slide-heading {font-size: clamp(1.2rem, 5vw, 3.2rem);line-height: 1.1;font-weight: 400;}
.formatted p{margin-bottom: 0;line-height: 1.5;}
.formatted p:empty,.formatted p:has(> br:only-child) {line-height: 0.5;}

html, body{color:var(--bodytext);}
body{padding-top:100px;}
.ql-align-center{text-align:center;}
.ql-align-left{text-align:left;}
.ql-align-right{text-align:right;}
.ql-align-justify{text-align:justify;}
a{color:var(--link);text-decoration:none;transition:color 0.3s ease;}
a:hover{color:var(--link-hover);text-decoration:none;}
.text-justify{text-align:justify;}
.call2action{background-color:var(--accent);border:none;border-radius:25px;padding:7px 30px;font-size:0.9em;transition:background-color 0.3s ease;display:inline-block;margin-top:2em;}
.call2action:hover{background-color:var(--lighter);}
.accent{background-color:var(--accent);height:36px;}
.content-wrapper{max-width:100%;}
.section-wrapper{padding:0;}
.no-padding-section{background-color:#ffffff;padding:0;}
.section-wrapper.google-map{border-radius:0;}
h1.sectiontitle{border-bottom:1px solid #dad1d1;text-align:center;padding-bottom:0.3em;}
h2.sectiontitle{border-bottom:1px solid #dad1d1;text-align:center;padding-bottom:0.6em;}
.inner-content{padding:60px 30px 80px;max-width:1200px;margin:auto;}
.inner-content.wide, .inner-content .wide{max-width:100%;}
.inner-content.narrow, .inner-content .narrow{max-width:1024px;}
.inner-content.narrower, .inner-content .narrower{max-width:800px;}
.footer{text-align:center;background:var(--footer-back, #222);color:var(--footer-text, #fff);padding:60px 30px;}
.footer a{color:var(--footer-link);text-decoration:none;}
.footer a:hover{color:var(--footer-hover);}
.footer a.small-link{font-size:0.875em;}
.sharinglinks svg{color:var(--sharing);margin:0 10px;font-size:1.5em;}
.sharing-icon:hover{color:var(--sharing-hover);}
.sharinglinks{margin-bottom:25px;}
.legallinks{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;font-size:0.92em;}
.copyright, .termsandprivacy{white-space:nowrap;}
.separator{margin:0 8px;}
.easypeasypage{background-color:black;text-align:center;padding:20px 30px;}
.easypeasypage .extra-link{display:flex;justify-content:space-between;}
.easypeasypage .extra-link a{color:lightgrey;font-size:0.75em;text-decoration:none;}
.easypeasypage .extra-link a:hover{color:#ccc;}
.scrolltotopbtn{position:fixed;bottom:20px;right:20px;display:none;font-size:30px;background-color:var(--scroll);color:#fff;border:none;border-radius:20%;width:50px;height:50px;cursor:pointer;z-index:99999;box-shadow:0 0 3px 0px #ffffff82;}
.scrolltotopbtn:hover{background-color:var(--scroll-hover);}
.scrolltotopbtn svg{vertical-align:-2px !important;}
.termsprivacy .modal-content{height:80vh;}
.termsprivacy .modal-body{color:#333;max-height:100vh;overflow-y:auto;font-size:1rem;line-height:1.6;}
.termsprivacy .modal-title{color:#333;font-family:'Roboto Condensed', sans-serif;}
.tooltip-inner{background-color:var(--tooltip) !important;color:#fff;}
.tooltip-arrow::before{border-top-color:var(--tooltip);}
@media (max-width: 1199.98px) {
}
@media (max-width: 991.98px) {
}
@media (max-width: 767.98px) {
body{padding-top:70px;}
.accent{height:22px;}
.inner-content{padding:40px 30px;text-align:center;}
.order-last{order:2;}
.text-center-mobile{text-align:center;}
}
@media (max-width: 479.98px) {
.footer{padding:60px 15px;}
.footer a{margin-bottom:8px;}
.legallinks{flex-direction:column;gap:0;}
.separator{display:none;}
.copyright, .termsandprivacy{display:block;margin:0 auto;text-align:center;}
}

.navbar-nav{padding-top:6px;}
.navbar{background-color:var(--header-back);color:var(--logo);min-height:100px;border-bottom:1px solid #ffffff29;box-shadow:0px 0px 8px 4px #00000036;padding:0;display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;}
.navbar-brand .logotext{display:flex;align-items:center;gap:0.3em;font-size:clamp(12px, 4vw, 1.8em);line-height:1.1;transition:font-size 0.3s cubic-bezier(.4,0,.2,1);}
.navbar-brand .logoicon{font-size:clamp(16px, 6vw, 1.2em);line-height:1;font-variation-settings:'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 48;position:relative;}
.navbar-brand .logoicon.iconbold{font-variation-settings:'FILL' 0, 'wght' 600, 'GRAD' 0, 'opsz' 48;position:relative;}
.logotext.shrink-title{font-size:clamp(12px, 4vw, 1.8em);}
.logotext.shrink-text{font-size:clamp(12px, 6vw, 1.2em);}
.navbar.shrink{min-height:70px;}
.navbar-brand img{max-width:400px;max-height:75px;transition:max-height 0.3s ease;}
@keyframes fadeInSlideLeft { 0% { opacity: 0; transform: translateX(-20px); } 100% { opacity: 1; transform: translateX(0); } }
.navbar-brand img, .navbar-brand .logotext{animation:fadeInSlideLeft 1.5s ease-in-out;}
.navbar.shrink .navbar-brand img{max-height:50px;}
.nav-link{color:var(--nav);text-decoration:none !important;text-transform:uppercase;font-size:16px;letter-spacing:0.05rem;margin-left:5px;}
.nav-link:hover, .nav-link:focus{color:var(--nav-hover);text-decoration:none !important;}
.navbar .container-fluid{padding:0 20px 0 30px;}
.navbar-toggler{border:none;flex-shrink:0;}
.navbar-toggler:focus{outline:none;box-shadow:none;}
.navbar-toggler:focus-visible{outline:3px solid var(--lighter);outline-offset:2px;box-shadow:none;}
.navbar-collapse{flex-grow:1;justify-content:flex-end;}
.nav-item.hometab{display:none;}
.desktop-overflow.hidden{display:none !important;}
.desktop-overflow .desktop-overflow-toggle{border:none;background:transparent;padding:0.25rem 0.5rem;}
.desktop-overflow .desktop-overflow-toggle:focus{outline:none;box-shadow:none;}

.desktop-overflow .desktop-overflow-toggle:focus-visible{outline:3px solid var(--lighter);outline-offset:2px;}
.desktop-overflow{position:relative;}
.desktop-overflow .dropdown-menu{position:absolute;right:0;top:calc(100% + 8px);display:none;min-width:152px;background:var(--fullscreenmenu, #222);border:1px solid rgba(255,255,255,0.15);box-shadow:0 8px 24px rgba(0,0,0,0.2);padding:0;}
.desktop-overflow.show .dropdown-menu{display:block;}
.desktop-overflow .dropdown-menu, .desktop-overflow .dropdown-menu li{list-style:none;}
.desktop-overflow .dropdown-menu .dropdown-item{display:block;width:100%;margin:0 !important;color:#fff !important;text-transform:uppercase;letter-spacing:0.05rem;box-sizing:border-box;padding-left:15px;}
.desktop-overflow .dropdown-menu .dropdown-item.nav-link{margin-left:0 !important;}
.desktop-overflow .dropdown-menu .dropdown-item:hover, .desktop-overflow .dropdown-menu .dropdown-item:focus{background-color:var(--lighter);color:#fff !important;}
.desktop-overflow{margin-left:6px;}
@media (min-width: 991.98px) {

.navbar.navbar-expand-lg .desktop-overflow .navbar-toggler{display:inline-block !important;}
}
@media (max-width: 1199.98px) {
.navbar-brand .logotext{font-size:clamp(12px, 4vw, 1.6em);}
.logotext.shrink-title{font-size:clamp(12px, 4vw, 1.3em);}
.logotext.shrink-text{font-size:clamp(12px, 4vw, 1.2em);}
}
@media (max-width: 991.98px) {
.navbar-collapse{position:absolute !important;top:100%;left:0;right:0;background:var(--header-back, #222);z-index:1050;width:100vw;box-shadow:0 8px 24px rgba(0,0,0,0.12);}
.navbar{position:fixed;z-index:1100;}
.navbar-brand .logotext{font-size:clamp(12px, 4vw, 1.6em);}
.nav-item.hometab{display:inline-block;}
.logotext.shrink-title{font-size:clamp(12px, 4vw, 1.5em);}
.logotext.shrink-text{font-size:clamp(12px, 4vw, 1.3em);}

.desktop-overflow{display:none !important;}
}
@media (max-width: 991.98px) {
.navbar-collapse.fullscreen{position:fixed !important;top:0;right:-100%;bottom:0;width:100vw;height:100vh;background:var(--fullscreenmenu, #222);z-index:2000;display:flex !important;flex-direction:column;justify-content:center;align-items:center;transition:right 0.4s cubic-bezier(0.4, 0, 0.2, 1);padding:2rem;}

.navbar-collapse.fullscreen.show{right:0;}
.navbar-collapse.fullscreen .navbar-nav{position:relative;flex-direction:column;gap:1.3em;align-items:center;padding:2rem;width:100%;max-width:400px;}

.navbar-collapse.fullscreen::before, .navbar-collapse.fullscreen::after{content:'';position:absolute;width:80px;height:80px;border:2px solid rgba(255,255,255,0.7);opacity:0.7;transition:all 0.3s ease;pointer-events:none;}
.navbar-collapse.fullscreen::before{top:30px;left:30px;border-right:none;border-bottom:none;transform:translate(-10px, -10px);}
.navbar-collapse.fullscreen::after{bottom:30px;right:30px;border-left:none;border-top:none;transform:translate(10px, 10px);}
.navbar-collapse.fullscreen.show::before, .navbar-collapse.fullscreen.show::after{transform:translate(0, 0);}

.navbar-collapse.fullscreen .nav-item{opacity:0;transform:translateX(20px);transition:all 0.3s ease;}
.navbar-collapse.fullscreen.show .nav-item{opacity:1;transform:translateX(0);}
.navbar-collapse.fullscreen .nav-item:nth-child(1) { transition-delay: 0.1s; }
.navbar-collapse.fullscreen .nav-item:nth-child(2) { transition-delay: 0.2s; }
.navbar-collapse.fullscreen .nav-item:nth-child(3) { transition-delay: 0.3s; }
.navbar-collapse.fullscreen .nav-item:nth-child(4) { transition-delay: 0.4s; }
.navbar-collapse.fullscreen .nav-item:nth-child(5) { transition-delay: 0.5s; }
.navbar-collapse.fullscreen .nav-item:nth-child(6) { transition-delay: 0.6s; }
.navbar-collapse.fullscreen .nav-item:nth-child(7) { transition-delay: 0.7s; }
.navbar-collapse.fullscreen .nav-item:nth-child(8) { transition-delay: 0.8s; }

.navbar-collapse.fullscreen .nav-link{font-size:1.8rem;color:#fff !important;text-transform:uppercase;position:relative;transition:color 0.3s ease;}

.navbar-collapse.fullscreen .nav-link::after{content:'';position:absolute;left:50%;bottom:-5px;width:0;height:2px;background:#fff !important;transition:all 0.3s ease;transform:translateX(-50%);}
.navbar-collapse.fullscreen .nav-link:hover, .navbar-collapse.fullscreen .nav-link:focus{color:#fff !important;}
.navbar-collapse.fullscreen .nav-link:hover::after, .navbar-collapse.fullscreen .nav-link:focus::after{width:100%;}
.nav-item{--bs-nav-link-padding-y:0 !important;}
}
@media (max-width: 767.98px) {
.navbar-collapse.fullscreen .nav-link{font-size:1.6rem;}
.navbar{min-height:70px !important;}
.navbar-brand img{max-width:240px;max-height:50px !important;}
.navbar .container-fluid{padding:0 7px 0 15px;}
.navbar-brand .logoicon{font-size:clamp(16px, 6vw, 1.3em);}
.navbar-brand .logotext{font-size:clamp(12px, 6vw, 1.3em);}
.logotext.shrink-title{font-size:clamp(12px, 4vw, 1.2em);}
}

.light-mode{}
.light-mode .section-wrapper{}
.light-mode .inner-content{}
.light-mode h1, .light-mode h2, .light-mode h3, .light-mode h4, .light-mode h5, .light-mode h6{color:var(--bodytext-high);}
.light-mode em{color:var(--bodytext-low);}
.light-mode .call2action{box-shadow:0 2px 8px rgba(0,0,0,0.3);color:#eee;}
.light-mode .call2action:hover{color:#fff;}

.dark-mode{}
.dark-mode .section-wrapper{}
.dark-mode .inner-content{}
.dark-mode h1, .dark-mode h2, .dark-mode h3, .dark-mode h4, .dark-mode h5, .dark-mode h6{color:var(--bodytext-high);}
.dark-mode em{color:var(--bodytext-low);}
.dark-mode a{color:#ddd;}
.dark-mode a:hover{color:var(--lighter);}
.dark-mode #ezpzwidgetsection a{color:initial;}
.dark-mode #ezpzwidgetsection a:hover{color:initial;}
.dark-mode .call2action{box-shadow:0 2px 8px rgba(0,0,0,0.3);color:#ccc;}
.dark-mode .call2action:hover{color:#fff;}
.dark-mode h1.sectiontitle, .dark-mode h2.sectiontitle{border-bottom-color:#555;}

.banner.carousel{height:auto;}
.banner .carousel-inner{height:auto;background-color:#000;}
.banner .carousel-inner img{height:100%;object-fit:cover;}
.banner.carousel .overlay{position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0000003d;z-index:1;}
.banner.carousel .carousel-inner .carousel-item{transition:opacity 1.2s cubic-bezier(0.4,0,0.2,1);position:relative;}
.banner .fade-in{opacity:0;animation:fadeInOpacity 1.2s forwards;animation-delay:0.7s;}
@keyframes fadeInOpacity { to { opacity: 1; } }
.banner .carousel-background{width:100%;aspect-ratio:16 / 9;min-height:400px;max-height:600px;overflow:hidden;background:#333;position:relative;z-index:0;display:flex;align-items:stretch;justify-content:stretch;}
@keyframes kenburns-in { 0% { transform: scale(1) translate(0, 0); } 100% { transform: scale(1.04) translate(0, 0); } }
@keyframes kenburns-out { 0% { transform: scale(1.04) translate(0, 0); } 100% { transform: scale(1) translate(0, 0); } }

@media (prefers-reduced-motion: reduce) {
.banner .carousel-background-img.kenburns-in, .banner .carousel-background-img.kenburns-reverse{animation:none !important;transform:scale(1) translate(0, 0) !important;}
.banner .fade-in{animation:none !important;opacity:1 !important;}
}
.banner .carousel-caption .slide-heading{position:static;top:auto;left:auto;transform:none;width:90%;text-align:center;margin-bottom:0;text-shadow:1px 1px 6px #0000007d;text-transform:capitalize;color:#fff;letter-spacing:0.02em;}
@media (max-width: 900px) {
.banner .carousel-background{min-height:250px;max-height:350px;}
}
@media (max-width: 600px) {
.banner .carousel-background{min-height:160px;max-height:220px;}
}
.banner .carousel-caption{z-index:2;}
.banner .carousel-caption{top:0;bottom:0;left:0;right:0;position:absolute;display:flex;align-items:center;justify-content:center;padding-top:0;padding-bottom:0;width:100%;height:100%;text-align:center;}
.visually-hidden{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;}
.banner .carousel-background-img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;will-change:transform;}
.banner .carousel-background-img.kenburns-in{animation:kenburns-in 10s linear forwards;}
.banner .carousel-background-img.kenburns-reverse{animation:kenburns-out 10s linear forwards;}
@media (max-width: 991.98px) {
.banner .carousel-caption .slide-heading{}
}
@media (max-width: 767.98px) {
.banner .carousel-background{height:250px;}
}
@media (max-width: 479.98px) {
.banner .carousel-background{height:190px;}
}
.banner .carousel-control-prev:focus, .banner .carousel-control-next:focus{outline:none;box-shadow:none;}
.banner .carousel-control-prev:focus-visible .carousel-control-prev-icon, .banner .carousel-control-next:focus-visible .carousel-control-next-icon{outline:2px solid #1976d2;outline-offset:2px;border-radius:50%;box-shadow:0 0 0 2px #bbdefb;background-clip:padding-box;}


.welcome h1.sectiontitle {border-bottom: none;}
.welcome .call2action{margin-top:1em;}
.welcome .inner-content > *{opacity:0;}
.welcome .inner-content .animate{animation:fadeInUp 0.6s forwards;}
@keyframes fadeInUp { 0% { opacity: 0; transform: translateY(20px); } 100% { opacity: 1; transform: translateY(0); } }


.profile-container{display:flex;gap:clamp(20px, 5vw, 60px); ;align-items:flex-start;}
.profile.image-only .profile-container{gap:0;}
.profile-image{max-width:47%;max-height:600px;width:auto;height:auto;object-fit:contain;border-radius:6px;box-shadow:0px 0px 3px 0px #0000002e;flex-shrink:0; }

.profile-image.cropped{object-fit:cover !important;border-radius:6px;width:100%;height:100%;flex-shrink:1; }

.profile-image.portrait.cropped{max-width:min(450px, 45vw); ;aspect-ratio:10/14; }

.profile-image.landscape.cropped{max-width:min(650px, 50vw); ;aspect-ratio:15/9; }

@media (min-width: 768px) {
.profile.image-left .profile-image.landscape, .profile.image-right .profile-image.landscape{margin-top:30px;}
}

.profile-image.square.cropped{max-width:min(500px, 45vw); ;aspect-ratio:1/1; }

.profile-image:not(.cropped) {max-width: 450px;max-height: 500px;width: auto;height: auto;}

.profile.image-center .profile-image.portrait{max-width:min(480px, 80vw) !important;max-height:640px !important;}
.profile.image-center .profile-image.square{max-width:600px !important;max-height:600px !important;}
.profile.image-center .profile-image.landscape{max-width:min(800px, 60vw) !important;max-height:480px !important;margin-top:20px;}
.profile-content{flex:1;font-size:0.9em;}

.profile.image-left .profile-container{flex-direction:row;}
.profile.image-left .profile-content{text-align:left;padding-top:30px;}
.profile.image-left h1.sectiontitle{text-align:left !important;}

.profile.image-right .profile-container{flex-direction:row-reverse;}
.profile.image-right .profile-content{text-align:right;padding-top:30px;}
.profile.image-right h1.sectiontitle{text-align:right;}
.profile.image-right .profile-info{align-items:flex-end;}

.profile.image-center .profile-container{flex-direction:column;align-items:center;text-align:center;}
.profile.image-center .profile-image{max-width:500px;max-height:400px;}
.profile.image-center .profile-content{text-align:center;max-width:800px;}
.profile.image-center h1.sectiontitle{text-align:center;font-size:clamp(1.6rem, 4.5vw, 2.6em);}
.profile.image-center .profile-info{align-items:center;}
.profile.image-center .profile-links{max-width:800px;margin:auto;}

.profile.no-image .profile-container{justify-content:center;}
.profile.no-image .profile-content{text-align:center;max-width:800px;}
.profile.no-image h1.sectiontitle{text-align:center;font-size:clamp(1.6rem, 4.5vw, 2.6em);}
.profile.no-image .profile-info{align-items:center;}
.profile.no-image .profile-links{max-width:800px;margin:auto;}

.profile h1.sectiontitle{margin-bottom:15px;}
.profile-info{display:flex;flex-direction:column;gap:10px;margin-top:20px;}
.profile-item{display:flex;align-items:center;gap:10px;}
.profile-item .bi{color:var(--link);}
.dark-mode .profile-item .bi{color:var(--light);}
.profile-info svg{vertical-align:-3px;}
.profile-separator{width:100%;border:none;border-top:1px solid #dad1d1;margin:20px 0;opacity:1;}

.social-btn{opacity:0;margin-right:1em;margin-bottom:1.2em;padding:4px 12px 5px;transition:all 0.5s ease;font-size:0.9em;color:var(--bodytext);border-color:var(--bodytext);border-radius:20px;box-shadow:0px 0px 4px 1px #00000052;border:none;}
.dark-mode .social-btn{background-color:var(--accent);opacity:1 !important;color:#ddd !important;}
.social-btn svg{width:1.25em;height:1.25em;vertical-align:-4px;margin-right:0.2em;}
.social-btn:hover, .social-btn:active{opacity:0.8;background-color:var(--bodytext) !important;color:#fff;border-color:var(--bodytext);}
.dark-mode .social-btn:hover, .dark-mode .social-btn:active{background-color:var(--lighter) !important;color:#fff;opacity:1;}
@keyframes popIn { 0% { transform: scale(0.5); opacity: 0; }100% { transform: scale(1); opacity: 0.7; } }
.social-btn.animate{animation:popIn 0.5s forwards;}

@media (max-width: 767.98px) {
.profile-container{flex-direction:column !important;align-items:center !important;gap:20px;padding:60px 30px 45px;}
.profile-content{text-align:center !important;max-width:100%;padding-top:10px !important;}
.profile h1.sectiontitle, .profile.image-left h1.sectiontitle, .profile.image-right h1.sectiontitle{text-align:center !important;}
.profile-info{align-items:center !important;}
.profile-item{margin:auto;}
.profile-image{max-width:min(450px, 66vw) !important;max-height:initial;}
.profile.image-center .profile-image.landscape{max-width:min(800px, 80vw) !important;max-height:480px !important;margin-top:0;}
.profile.image-center .profile-image.square{max-width:min(800px, 66vw) !important;max-height:480px !important;margin-top:0;}
}


@media (max-width: 767.98px) {
    .about .formatted .ql-align-center{text-align: justify !important;}
}



@keyframes slideInTop { from {transform: translateY(-100%);opacity: 0;} to {transform: translateY(0);opacity: 1;} }
@keyframes slideInRight { from {transform: translateX(100%);opacity: 0;} to {transform: translateX(0);opacity: 1;} }
@keyframes slideInBottom { from {transform: translateY(100%);opacity: 0;} to {transform: translateY(0);opacity: 1;} }
@keyframes slideInLeft { from {transform: translateX(-100%);opacity: 0;} to {transform: translateX(0);opacity: 1;} }
@keyframes slideOutTop { from {transform: translateY(0);opacity: 1;} to {transform: translateY(-100%);opacity: 0;} }
@keyframes slideOutRight { from {transform: translateX(0);opacity: 1;} to {transform: translateX(100%);opacity: 0;} }
@keyframes slideOutBottom { from {transform: translateY(0);opacity: 1;} to {transform: translateY(100%);opacity: 0;} }
@keyframes slideOutLeft { from {transform: translateX(0);opacity: 1;} to {transform: translateX(-100%);opacity: 0;} }

.gallery-grid{column-count:3;column-gap:15px;}
@media (max-width: 767.98px) {
.gallery-grid{column-count:2;}
}
.gallery-grid .col{display:inline-block;width:100%;margin-bottom:15px;position:relative;opacity:0;break-inside:avoid;overflow:hidden;}
.gallery-grid .col.animate{animation:fadeIn 0.6s forwards;}

.gallery-grid .col .gallery-item{position:relative;overflow:hidden;border-radius:6px;cursor:pointer;}

.gallery-grid .col .gallery-item::before{content:'';position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.1) 100%);opacity:0;z-index:2;pointer-events:none;transform:translateY(-100%);transition:none;}

.gallery-grid .col.hover-from-top .gallery-item::before{animation:slideInTop 300ms ease forwards;}
.gallery-grid .col.hover-from-right .gallery-item::before{transform:translateX(100%);animation:slideInRight 300ms ease forwards;}
.gallery-grid .col.hover-from-bottom .gallery-item::before{transform:translateY(100%);animation:slideInBottom 300ms ease forwards;}
.gallery-grid .col.hover-from-left .gallery-item::before{transform:translateX(-100%);animation:slideInLeft 300ms ease forwards;}

.gallery-grid .col.exit-to-top .gallery-item::before{animation:slideOutTop 300ms ease forwards;}
.gallery-grid .col.exit-to-right .gallery-item::before{animation:slideOutRight 300ms ease forwards;}
.gallery-grid .col.exit-to-bottom .gallery-item::before{animation:slideOutBottom 300ms ease forwards;}
.gallery-grid .col.exit-to-left .gallery-item::before{animation:slideOutLeft 300ms ease forwards;}
.gallery-grid .col .thumbnail-title{font-size:0.9em;position:absolute;bottom:10px;left:10px;right:10px;color:white;background-color:rgba(0, 0, 0, 0.7);padding:5px;text-align:center;opacity:0;transition:opacity 0.6s, background-color 0.6s, transform 0.3s;z-index:3;transform:translateY(10px);}
.gallery-grid .col img{transition:filter 0.6s, border-radius 0.2s, transform 0.3s;border-radius:6px;width:100%;height:auto;object-fit:contain;position:relative;z-index:1;}

.gallery-grid .col:hover img{filter:brightness(0.8);
    }
.gallery-grid .col:hover .thumbnail-title{opacity:1;transform:translateY(0);}

.gallery-grid .col a:focus-visible{outline:none; }

.gallery-grid .col:has(a:focus-visible) {outline: 3px solid #1976d2 !important;outline-offset: 4px;border-radius: 10px;box-shadow: 0 0 12px rgba(25, 118, 210, 0.5) !important;}

.gallery-grid .col a:focus-visible ~ *,
.gallery-grid .col a:focus-visible {
    
}
.gallery-grid .col a:focus-visible img{filter:brightness(0.8) !important;transform:scale(1.02) !important;}
.gallery-grid .col a:focus-visible .thumbnail-title{opacity:1 !important;transform:translateY(0) !important;background-color:rgba(0, 0, 0, 0.9) !important;}

.gallery-grid.square-thumbs .col:has(a:focus-visible) {outline: 3px solid #1976d2 !important;outline-offset: 4px;border-radius: 10px;box-shadow: 0 0 12px rgba(25, 118, 210, 0.5) !important;}
@keyframes fadeIn { from { opacity: 0; } to { opacity: 1; } }

@media (prefers-reduced-motion: reduce) {
.gallery-grid .col.animate{animation:none !important;opacity:1 !important;}

.gallery-grid .col .gallery-item::before{animation:none !important;opacity:0 !important;}
.gallery-grid .col.hover-from-top .gallery-item::before, .gallery-grid .col.hover-from-right .gallery-item::before, .gallery-grid .col.hover-from-bottom .gallery-item::before, .gallery-grid .col.hover-from-left .gallery-item::before, .gallery-grid .col.exit-to-top .gallery-item::before, .gallery-grid .col.exit-to-right .gallery-item::before, .gallery-grid .col.exit-to-bottom .gallery-item::before, .gallery-grid .col.exit-to-left .gallery-item::before{animation:none !important;opacity:0 !important;}
}

.gallery-grid.square-thumbs{display:grid !important;grid-template-columns:repeat(3, 1fr);gap:20px;}
@media (max-width: 767.98px) {
.gallery-grid.square-thumbs{grid-template-columns:repeat(2, 1fr);}
}
.gallery-grid.square-thumbs .col{display:block;margin-bottom:0;}
.gallery-grid.square-thumbs .col .gallery-item{border-radius:8px;}
.gallery-grid.square-thumbs .col img{aspect-ratio:1 / 1;height:100%;object-fit:cover;width:100%;border-radius:8px;}

.gallerydescription{margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:0.9em;}

.glightbox-container .gslide-description, .glightbox-container .gdesc-inner{padding:0 !important;background:#000;}
.glightbox-container .gslide-desc{padding:8px 30px !important;margin:0 !important;position:absolute;left:50%;bottom:30px;transform:translateX(-50%);background:#00000069;color:#fff;border-radius:5px;font-size:1rem;text-align:center;max-width:90vw;z-index:10;width:max-content;}
.glightbox-mobile .glightbox-container .gslide-description{display:block !important;overflow:visible !important;opacity:1 !important;}
.glightbox-mobile .glightbox-container .gslide-desc{font-size:1em;padding:6px 10px !important;bottom:0;width:100%;max-width:100vw;color:#fff !important;background:#00000054;}
.gslide-description{opacity:0;transition:opacity 0.3s;pointer-events:none;}
.gslide:hover .gslide-description, .gslide:focus-within .gslide-description{opacity:1;pointer-events:auto;}

@media (max-width: 767.98px) {
.gallery-grid .col .thumbnail-title{font-size:0.7em;line-height:1.3;}
}
.hidden-gallery-img{display:none !important;}
#show-more-gallery{scroll-margin-bottom:30px;}


.gx-7{--bs-gutter-x:6rem;}
@media (max-width: 1199.98px) {
.gx-7{--bs-gutter-x:3.4rem;}
}
@media (max-width: 991.98px) {
.gx-7{--bs-gutter-x:3rem;}
}


.faq .accordion-button{font-size:1rem;}
.faq.section-wrapper h2:first-child{border-bottom:none;}
#faqAccordion .accordion-item{border:1px solid #dee2e6 !important;}
#faqAccordion .accordion-body{font-size:0.9em;padding:9px 23px 18px;}
#faqAccordion .accordion-button{background-color:transparent;border:none;box-shadow:none;}
.accordion-button:not(.collapsed) {color:var(--accent);}
.faq .accordion-button:focus-visible{outline:1px solid #1976d275;z-index:2;}
.faq .accordion-button:focus:not(:focus-visible) {outline: none;box-shadow: none;}
@media (max-width: 767.98px) {
.faq .inner-content{text-align:left;}
}

.dark-mode #faqAccordion .accordion-item{border:1px solid #313131 !important;background-color:var(--section-light);}
.dark-mode #faqAccordion .accordion-button{background-color:var(--section-light);color:var(--bodytext-high);}
.dark-mode #faqAccordion .accordion-button:not(.collapsed) {background-color: var(--section-light);color: var(--bodytext-high);border-bottom: 1px solid var(--accent);}
.dark-mode #faqAccordion .accordion-button:hover{background-color:var(--section-light);}
.dark-mode #faqAccordion .accordion-body{background-color:var(--section-light);color:var(--bodytext);}
.dark-mode .faq .accordion-button:focus-visible{outline:1px solid var(--accent);}

.dark-mode #faqAccordion .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");}
.dark-mode #faqAccordion .accordion-button:not(.collapsed)::after {--bs-accordion-btn-active-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-linecap='round' stroke-linejoin='round'%3e%3cpath d='M2 5L8 11L14 5'/%3e%3c/svg%3e");background-image: var(--bs-accordion-btn-active-icon);}


.reviews{position:relative;}
.reviews h2{margin-bottom:30px;}
.reviews .carousel-inner{height:120px; ;overflow:hidden;position:relative;}
.reviews .carousel-item{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);transform:translateX(0);display:flex;align-items:center;justify-content:center;padding:10px 0; }
.reviews .carousel-item.active{position:relative;opacity:1;}
.reviews .carousel-item figure{margin:0;padding:0;display:flex;flex-direction:column;justify-content:center;align-items:center;width:100%;max-height:100%; }
.reviews-text{color:var(--bodytext);font-size:1em;font-style:italic;text-align:center;margin-bottom:10px; ;line-height:1.5; ;padding:0 20px;display:block;word-wrap:break-word;hyphens:auto;}
.reviews-author{font-size:1em;text-align:center;color:var(--accent);font-weight:500;margin-top:auto;}
.reviews-author{color:var(--lighter);}
.dark-mode .reviews-author{color:var(--bodytext-low);}
.reviews-dots-wrapper{width:100%;position:relative;margin-top:10px;display:flex;justify-content:center;align-items:center;}
.reviews-dots button{background-color:var(--accent);width:12px;height:12px;border-radius:50%;border:none;margin:0 6px;transition:all 0.3s cubic-bezier(0.4, 0, 0.2, 1);cursor:pointer;opacity:0.6;}
.dark-mode .reviews-dots button{background-color:var(--lighter);}
.reviews-dots button.active{background-color:var(--link-hover);opacity:1;transform:scale(1.2);}
.reviews-dots button:hover{background-color:var(--link-hover);opacity:0.8;transform:scale(1.1);}
.reviews-dots button:focus{outline:2px solid var(--link-hover);outline-offset:2px;}

.reviews-platforms{margin-top:30px;text-align:center;}
.reviews-platforms h3{font-size:1.1em;margin-bottom:30px;color:var(--bodytext);font-weight:500;}
.reviews-platform-btn{opacity:0;margin:0 0.5em 1.2em 0.5em;padding:6px 12px 4px;transition:all 0.5s ease;font-size:0.9em;color:var(--bodytext);border-color:var(--bodytext);border-radius:20px;box-shadow:0px 0px 4px 1px #00000052;border:none;text-decoration:none;display:inline-block;}
.dark-mode .reviews-platform-btn{background-color:#4d4d4d;color:#ddd !important;opacity:1 !important;}
.reviews-platform-btn svg{width:1.25em;height:1.25em;vertical-align:-4px;margin-right:0.2em;}
.reviews-platform-btn:hover, .reviews-platform-btn:active{opacity:0.8;background-color:var(--bodytext) !important;color:#fff;border-color:var(--bodytext);text-decoration:none;}
.dark-mode .reviews-platform-btn:hover, .dark-mode .reviews-platform-btn:active{background-color:var(--accent) !important;color:#ddd !important;opacity:1 !important;}
@keyframes reviewPlatformPopIn { 0% { transform: scale(0.5); opacity: 0; } 100% { transform: scale(1); opacity: 0.7; } }
.reviews-platform-btn.animate{animation:reviewPlatformPopIn 0.5s forwards;}
@media (max-width: 767.98px) {
.reviews{padding:0 15px;}
.reviews .carousel-inner{height:120px; }
.reviews-text{font-size:0.95em;padding:0 10px;line-height:1.5;}
.reviews-dots button{width:10px;height:10px;margin:0 4px;}
}
@media (max-width: 480px) {
.reviews .carousel-inner{height:150px; }
.reviews-text{font-size:0.9em;padding:0 5px;}
}


.location .location-pin{display:inline-block;}
.location h2.sectiontitle{text-align:left;}
.location .location-details h3{display:inline-block;font-size:1.3em;margin-bottom:0.4em;line-height:1.4;}
.location .location-details .address, .location .location-details .openingmessage{font-size:0.9em;}
.location .location-details h4{font-size:1.1em;margin-bottom:0.4em;line-height:1.4;}
.location .location-details svg{vertical-align:-1px;font-size:1em;}
.dark-mode .location .location-details svg{color:var(--lighter);}
.location .location-details .opening-hours .row{margin-bottom:0.1em;line-height:1.8em;}
.location .location-details .opening-hours .day{font-size:0.9em;}
.location .location-details .opening-hours .hours{font-size:0.9em;}
.location .google-map{position:relative;height:460px;border:1px solid #ddd;box-shadow:1px 2px 10px 7px #0000000a;}
.location #interactiveMap{width:100%;height:460px;border:0;display:block;position:relative;z-index:1;}
.time-separator{display:inline-block;margin:0 5px;color:var(--accent);opacity:0.7;}
@media (max-width: 767.98px) {
.location h2.sectiontitle{text-align:center;}
}


#ContactForm{margin:0;}
.contact{position:relative;background-color:var(--section-contact) !important;background-size:cover;background-position:center center;margin-bottom:0;}
.contact .inner-content{padding:60px 30px;}
.form-content{position:relative;z-index:2;padding:30px;color:#ffffff;text-align:center;max-width:80%;margin:0 auto;}
.form-content .row{justify-content:center;}
.form-content h2.sectiontitle{margin-bottom:30px;border-bottom-color:#fff;color:#fff;}
.form-control{font-size:1em;border-radius:3px;}
.form-content .btn-primary{border-radius:0;color:#ffffff;background-color:var(--button);border:none;font-size:large;padding:15px 30px 15px;}
.form-content .btn-primary:hover{background-color:var(--button-hover);border:none;}
.contact .contactlinks{margin-top:2rem;}
.contact p{font-size:1em;}
.contact .bi{font-size:1.7rem;vertical-align:middle;margin-right:10px;}
.contact a{display:inline-block;color:#ffffffc9;transition:color 0.3s ease, transform 0.3s ease;}
.contact a:hover{color:#ffffff;transform:scale(1.02);}
.rocketFormMessage{padding:18px !important;border:none !important;background:var(--formmessage) !important;border-radius:4px !important;font-weight:600 !important;text-align:center !important;}
.simplisity_loader{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0, 0, 0, 0.5);z-index:9999;display:flex;justify-content:center;align-items:center;}
.simplisity_loader_inner{width:50px;height:50px;border:4px solid #f3f3f3;border-top:4px solid var(--accent);border-radius:50%;animation:spin 1s linear infinite;}
@keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.form-submitting .btn-primary{opacity:0.7;cursor:not-allowed;pointer-events:none;}
.invalid-feedback{display:block;width:100%;margin-top:0.25rem;font-size:0.875em;color:#ffffff;background:#ce094a;padding:5px 10px;border-radius:3px;margin-bottom:10px;}
@media (max-width: 767.98px) {
.form-content{padding:0;max-width:100%;}
.form-content .row .col-md-6{margin-bottom:15px;}
}


.affiliations{padding:50px 0 !important;}
.affiliations .inner-content{margin:0 auto;padding:0;}
.affiliations .sectiontitle{max-width:800px;margin:0 auto 40px;}

.logoslider .tns-item{vertical-align:middle !important;text-align:center;padding:10px;overflow:visible;background:#fff;border-radius:100px;height:150px;width:150px !important;margin:0 30px;}

.logoslider .tns-outer .tns-inner{overflow:visible !important;}

.logoslider.centered-logos{padding:0 !important;}
.logoslider.centered-logos .logo-slide{flex:0 0 auto;margin:0 10px; background:#fff;border-radius:100px;height:150px;width:150px !important;padding:10px;overflow:visible;}
.logo-slide{display:flex;align-items:center;justify-content:center;}
.logo-slide a{display:block;width:100%;height:100%;min-height:120px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all 0.3s ease;}
.logo-slide a:focus{outline:none;}
.logo-slide a:focus-visible{outline:3px solid #007cba;outline-offset:2px;box-shadow:0 0 0 1px rgba(255, 255, 255, 0.8);}
.logo-slide img{max-width:120px;max-height:120px;width:auto;height:auto;object-fit:contain;filter:brightness(0.8) contrast(1.1);transition:all 0.3s ease;}
.logo-slide a:hover img, .logo-slide a:focus-visible img, .logo-slide:hover img{filter:brightness(1) contrast(1.2);transform:scale(1.02);}

.affiliations.grayscale .logo-slide img{filter:grayscale(100%) brightness(1.1) contrast(1.1);transition:all 0.3s ease;}
.affiliations.grayscale .logo-slide a:hover img, .affiliations.grayscale .logo-slide a:focus-visible img, .affiliations.grayscale .logo-slide:hover img{filter:grayscale(0%) brightness(1) contrast(1.2);transform:scale(1.02);}
.affiliations.color .logo-slide img{filter:brightness(0.8) contrast(1.1);transition:all 0.3s ease;}
.affiliations.color .logo-slide a:hover img, .affiliations.color .logo-slide a:focus-visible img, .affiliations.color .logo-slide:hover img{filter:brightness(1) contrast(1.2);transform:scale(1.02);}
@media (max-width: 768px) {
.affiliations{padding:30px 0 !important;}
.affiliations .sectiontitle{max-width:80%;margin:0 auto 20px;}
.logoslider .tns-item{vertical-align:middle !important;text-align:center;padding:10px;overflow:visible;background:#fff;border-radius:100px;height:110px;width:110px !important;margin:0 30px;}

.logoslider.centered-logos .logo-slide{background:#fff;border-radius:100px;height:110px;width:110px !important;padding:10px;overflow:visible;}
.logo-slide a{display:block;width:100%;height:100%;min-height:80px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all 0.3s ease;}
.logo-slide img{max-width:80px;max-height:80px;width:auto;height:auto;object-fit:contain;filter:brightness(0.8) contrast(1.1);transition:all 0.3s ease;}
}
@media (max-width: 576px) {
.affiliations{padding:20px 0 !important;}
.affiliations .sectiontitle{max-width:80%;margin:0 auto 10px;}
.logoslider .tns-item{vertical-align:middle !important;text-align:center;padding:10px;overflow:visible;background:#fff;border-radius:100px;height:90px;width:90px !important;margin:0 27px;}

.logoslider.centered-logos .logo-slide{background:#fff;border-radius:100px;height:90px;width:90px !important;padding:10px;overflow:visible;}
.logo-slide a{display:block;width:100%;height:100%;min-height:70px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all 0.3s ease;}
.logo-slide img{max-width:70px;max-height:70px;width:auto;height:auto;object-fit:contain;filter:brightness(0.8) contrast(1.1);transition:all 0.3s ease;}
}

