@import url('https://fonts.googleapis.com/css2?family=Italiana&family=Montserrat:ital,wght@0,100..900;1,100..900&family=Ysabeau+Infant:ital,wght@0,1..1000;1,1..1000&display=swap');

:root {
    --sl-primary: #BCCF9E;
    --sl-primary-light: #d0e1b5;
    --sl-primary-lighter: #e2efcc;
    --sl-primary-dark: #a6bf7e;
    --sl-secondary: #C2E2F9;
    --sl-secondary-dark: #cf8b29;
    --sl-secondary-light: #fcf7ee;
    --sl-warning: #F9D17C;
    --sl-danger: #FFCCDB;
    --sl-success: #BCCF9E;
    --sl-info: #D9DAF9;
    --sl-light: #fdfbfa;
    --sl-light-dark: #e9e3dd !important;
    --sl-dark: #272324;

    --sl-bg-body: #f8feef;

    --sl-font-primary: 'Ysabeau Infant', sans-serif;
    --sl-font-secondary: 'Montserrat', sans-serif;
    --sl-font-logo: 'Italiana', sans-serif;
}

body { overflow-x: hidden; width: 100vw; font-family: var(--sl-font-secondary); background-color: var(--sl-bg-body); }
/*section { overflow-x: hidden; }*/

h1, h2, h3, h4, h5, h6 { font-family: var(--sl-font-primary); }

.z-3 { z-index: 3 !important; }
.z-2 { z-index: 2 !important; }
.z-1 { z-index: 1 !important; }
.z-0 { z-index: 0 !important; }
.z-n1 { z-index: -1 !important; }

.font-primary { font-family: var(--sl-font-primary); }
.font-secondary { font-family: var(--sl-font-secondary); }
.font-logo { font-family: var(--sl-font-logo); }

blockquote { font-family: 'Great Vibes', sans-serif; }
blockquote cite { font-family: 'Nunito', sans-serif; font-size: 1.4rem; }

hr { border-top: 1px dashed #000; }

.btn { border-radius: .5rem; border-width: 2px; }
.card { border-radius: 1rem; border: 0; box-shadow: 0 15px 30px rgba(0,0,0,0.2); }
.alert { border-radius: 0; border-width: 2px; }

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: 1170px;
    }
}

.sl-underline { position: relative; z-index: 1; }
.sl-underline::before { content: ''; position: absolute; left: -.25rem; right: -.25rem; bottom: 0rem; height: 1.5rem; background: var(--sl-warning); z-index: -1; border-radius: 1rem; }



.bg-primary { background-color: var(--sl-primary) !important; }
.bg-primary-light { background-color: var(--sl-primary-light) !important; }
.bg-primary-lighter { background-color: var(--sl-primary-lighter) !important; }
.bg-secondary { background-color: var(--sl-secondary) !important; }
.bg-secondary-light { background-color: var(--sl-secondary-light) !important; }
.bg-secondary-dark { background-color: var(--sl-secondary-dark) !important; }
.bg-light { background-color: var(--sl-light) !important; }
.bg-light-dark { background-color: var(--sl-light-dark) !important; }
.bg-body { background-color: var(--sl-bg-body) !important; }

.bg-image { background-image: url('/d/dfdc/36b3/6/4/3/1/6/bg.jpg'); }

.text-primary { color: var(--sl-primary) !important; }
.text-primary-light { color: var(--sl-primary-light) !important; }
.text-primary-dark { color: var(--sl-primary-dark) !important; }
.text-secondary { color: var(--sl-secondary) !important; }
.text-secondary-dark { color: var(--sl-secondary-dark) !important; }

.btn-primary { background-color: var(--sl-primary); border-color: var(--sl-primary); }
.btn-primary:hover { background-color: var(--sl-primary-light) !important; border-color: var(--sl-primary-light) !important; }
.btn-primary-light { background-color: var(--sl-primary-light); border-color: var(--sl-primary-light); color: var(--sl-light); }
.btn-primary-light:hover { background-color: var(--sl-primary) !important; border-color: var(--sl-primary) !important; color: var(--sl-light) !important; }
.btn-secondary { background-color: var(--sl-secondary); border-color: var(--sl-secondary); }
.btn-outline-primary { color: var(--sl-primary); border-color: var(--sl-primary); }
.btn-outline-secondary { color: var(--sl-secondary); border-color: var(--sl-secondary); }



footer .footer-link { display: block; color: var(--sl-dark); text-decoration: none; font-weight: 400; font-size: .9rem; }
footer .footer-title { color: var(--sl-primary); font-weight: 700; text-transform: uppercase; }
footer .btn-outline-dark { border-width: 1px !important; }

#sl-main-menu .navbar .navbar-nav .nav-item .nav-link { font-size: 1rem; padding: .5rem 1rem; color: var(--sl-dark); font-weight: 600; position: relative; line-height: 1; }
#sl-main-menu .navbar .navbar-nav .nav-item .nav-link.nav-link-styled::after { content: ''; position: absolute; bottom: -.25rem; left: calc(50% - .75rem); width: 0; height: .25rem; background: var(--sl-primary); border-radius: 1rem; transition: width .25s; }
#sl-main-menu .navbar .navbar-nav .nav-item.active .nav-link { color: var(--sl-primary); }
#sl-main-menu .navbar .navbar-nav .nav-item .nav-link.nav-link-styled:hover::after,
#sl-main-menu .navbar .navbar-nav .nav-item.active .nav-link.nav-link-styled::after { width: 1.5rem; }

.sl-logo-fixed { display: none; position: absolute; top: 0; left: 0; background-color: var(--sl-white); padding: 0 1rem 0 1rem; z-index: 1; }
#sl-main-menu.sl-fixed .sl-logo-fixed { display: block; }
#sl-main-menu.sl-fixed .sl-main-menu-wrapper { position: fixed; top: 0; left: 0; width: 100%; background-color: var(--sl-primary); border-bottom: 3px solid var(--sl-secondary); }
#sl-main-menu.sl-fixed .navbar { border-color: transparent; width: 100%; }
#sl-main-menu.sl-fixed .navbar-nav { margin-right: 0 !important; }
#sl-main-menu.sl-fixed .navbar-nav .nav-item .nav-link { color: var(--sl-light); }




.sl-notation { width: 10rem; height: 10rem; border: 3px solid var(--sl-primary); border-radius: 50%; display: inline-flex; flex-direction: column; align-items: center; justify-content: center; }
.sl-notation-stars { color: var(--sl-secondary); }

.nav-pills .nav-link.active { color: #ffffff !important; background-color: #f7aa1a; }

.section-title { position: relative; }
.section-title::after { content: ''; position: absolute; bottom: -10px; left: 50%; transform: translateX(-50%); width: 80px; height: 3px; background: var(--sl-light); }

.accordion { --sl-accordion-active-color: var(--sl-dark); }
.accordion .accordion-item { border: 0; border-radius: 0; border-bottom: 2px solid var(--sl-primary); }
.accordion .accordion-item .accordion-header .accordion-button { background-color: transparent !important; outline: 0 !important; border: 0 !important; box-shadow: none !important; font-weight: 500; }
.accordion .accordion-item .accordion-body { background-color: transparent !important; padding-top: 0 !important; }

.sl-instagram img { aspect-ratio: 1; width: 100%; object-fit: cover; }

.sl-image-with-bg-video { position: relative; }
.sl-image-with-bg-video > img { width: 100%; aspect-ratio: 1; object-fit: contain; object-position: center center; }
.sl-image-with-bg-video > div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; mask-position: center center; mask-repeat: no-repeat; mask-size: contain; opacity: 0; pointer-events: none; }
.sl-image-with-bg-video > img:hover + div { opacity: 1; }
.sl-image-with-bg-video video { width: 100%; height: 100%; object-fit: cover; }

.banner { position: relative; z-index: 1; }
.banner::after { content: ''; position: absolute; top: -1.5rem; left: -1rem; width: 100%; height: 100%; border: 2px solid var(--sl-light-dark); border-radius: .5rem; z-index: -1; }
.banner .banner-background img { width: 100%; object-fit: cover; }
.banner .banner-body { position: absolute; top: 0; left: 0; width: 100%; height: 100%; display: flex; align-items: end; padding: .75rem; }
.banner .banner-body .banner-body-content { background-color: #fffc; padding: 1rem; border-radius: .25rem; width: 100%; text-align: center; display: flex; flex-direction: column; gap: 1rem; }
.banner .banner-body .banner-body-content .banner-title { font-size: 1.5rem; line-height: 1; font-weight: 500; font-family: var(--sl-font-primary); }
.banner .banner-body .banner-body-content .banner-description { font-size: .9rem; line-height: 1.2; }
@media (min-width: 992px) {
    .banner .banner-background img { aspect-ratio: 7/10; }
    .banner.banner-main .banner-background img { aspect-ratio: 6/10; }
}

.sl-event video { display: none; }
.sl-event:hover img { display: none; }
.sl-event:hover video { display: block; }

.pulse { animation: pulse 2s infinite; }
@-webkit-keyframes pulse {
    0% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    50% { -webkit-transform: translate(0, 10px); transform: translate(0, 10px); }
    100% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
}
@keyframes pulse {
    0% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
    50% { -webkit-transform: translate(0, 10px); transform: translate(0, 10px); }
    100% { -webkit-transform: translate(0, 0); transform: translate(0, 0); }
}

.aos-failed [data-aos] { opacity: 1 !important; transform: translate(0) scale(1) !important; transition: none !important; visibility: visible !important; }
