/* Preserve the legacy green/yellow design while adapting its Bootstrap 4 classes to Bootstrap 5. */
body {
    min-height: 100vh;
}
img {
    max-width: 100%;
    height: auto;
}
.text-right {
    text-align: right;
}
.navbar-brand img {
    max-width: 250px;
}
.navbar-nav .nav-link[aria-current="page"] {
    color: #237d27;
    font-weight: 700;
}
.page-content {
    padding-top: 45px;
    padding-bottom: 70px;
}
.page-content > .section-prestations {
    padding-top: 0;
}
.page-content h1 {
    margin-bottom: 30px;
}
.masthead {
    text-align: center;
    color: white;
    background: #000 url('/img/banner_capoeira.jpg') center center / cover no-repeat;
    position: relative;
}
.masthead .intro-text {
    padding: 200px 0 160px;
}
.masthead .intro-heading {
    font-family: Montserrat, Arial, sans-serif;
    font-size: 55px;
    font-weight: 700;
    margin-bottom: 40px;
}
.section-1 {
    background: #39a432 url('/img/bandeira-brazil.png') top right no-repeat;
    padding: 70px 0 100px;
    position: relative;
}
.section-1 .section-heading,
.section-1 .section-subheading-1,
.section-1 .section-text {
    color: white;
}
.section-2 {
    background: #fbcb0f;
    padding-top: 80px;
    padding-bottom: 100px;
    position: relative;
}
.masthead::after,
.section-1::after,
.section-2::after {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 85px;
    background: #39a432;
    clip-path: polygon(0 0, 100% 100%, 0 100%);
}
.section-1::after {
    background: #fbcb0f;
}
.section-2::after {
    background: white;
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
}
.section-4 {
    background: #f6f6f6;
    padding: 65px 0 30px;
}
.footer-links {
    padding-top: 30px;
    font-size: .9rem;
}
.contact-form {
    max-width: 800px;
    margin: 35px 0;
}
.contact-form label {
    font-weight: 600;
    margin-bottom: 8px;
}
.contact-form label span {
    font-weight: 400;
}
.contact-trap {
    position: absolute;
    left: -10000px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}
.preview-banner {
    text-align: center;
    margin-bottom: 0;
}
.archive-notice {
    padding: 20px;
    background: #fff3cd;
    border-left: 5px solid #b18000;
    margin-bottom: 30px;
}
.teacher-bio {
    white-space: pre-wrap;
}
.box-content img {
    width: 100%;
}
@media (max-width: 767px) {
    body {
        padding-top: 100px;
    }
    .navbar-brand img {
        max-width: 200px;
    }
    .masthead .intro-text {
        padding: 100px 10px 120px;
    }
    .masthead .intro-heading {
        font-size: 34px;
    }
    .btn-head-1 {
        margin: 8px;
    }
    .horraires {
        overflow-x: auto;
    }
    .page-content {
        padding-top: 25px;
    }
}
/* The legacy icon used an invalid SVG color; draw three high-contrast bars instead. */
.navbar-toggler-icon {
    background-image: linear-gradient(to bottom, transparent 15%, white 15%, white 23%, transparent 23%, transparent 46%, white 46%, white 54%, transparent 54%, transparent 77%, white 77%, white 85%, transparent 85%);
    width: 24px;
    height: 24px;
}
/* Preserve circular course portraits after the HTML sanitizer removes unsupported CSS. */
.section-prestations .no-paddings img {
    border-radius: 50%;
    width: 250px;
    height: 250px;
    object-fit: cover;
}
footer.section-4 .section-4 {
    padding: 0;
}
