#index .banner {
    height: 600px;
    background-image: url("../img/banner-EpPpkJu.webp");
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#index .banner .content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 100%;
    text-align: center;
    background-color: rgba(0,0,0,0.5);
    color: white;
}
#index .banner .content h1 { font-size: 3rem; }
#index .categories { padding: 100px 0 150px 0; }
#index .categories .category {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 80px 40px;
    text-align: center;
}
#index .categories .category::before, #index .categories .category::after {
    content: '';
    position: absolute;
    width: calc(100% - 35px);
    height: calc(100% - 35px);
    border: 1px solid #ddd;
    pointer-events: none;
    transition: all 300ms ease;
}
#index .categories .category::before { top: 0; left: 0; border-width: 1px 0 0 1px; }
#index .categories .category::after { bottom: 0; right: 0; border-width: 0 1px 1px 0; }
#index .categories .category span { font-size: 4rem; color: var(--theme-gold-color); margin-bottom: 20px; }
#index .categories .category h2 { font-weight: bold; margin-bottom: 0; }
#index .categories .category h2 a { color: inherit; text-decoration: none; font-size: inherit; transition: color 300ms ease; }
#index .categories .category h2 a:hover { color: var(--theme-gold-color); }
#index .categories .category hr { border-top: 2px solid var(--theme-gold-color); opacity: 1; max-width: 100%; width: 25%; margin: 1.5rem auto; transition: width 300ms ease; }
#index .categories .category:hover::before, #index .categories .category:hover::after { width: 100%; height: 100%; border-color: var(--theme-gold-color); }
#index .categories .category:hover hr { width: 75%; }
#index .about-me { position: relative; }
#index .about-me .content { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); }
#index .about-me .content article {
    height: 500px;
    background-color: var(--theme-black-color);
    color: white;
    padding: 50px;
}
#index .about-me .content .text p { font-weight: lighter; font-style: italic; margin-bottom: 0; }
#index .about-me .parallax {
    height: 400px;
    background-image: url("../img/about-me-gjX9dbj.webp");
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#index .commitments { padding: 150px 0 50px 0; }
#index .commitments .number {
    font-size: 6rem;
    color: var(--theme-gold-color);
}
#index .commitments .commitment {
    font-size: 1.4rem;
    font-weight: bold;
}
#index .postulation { padding: 50px 0 100px 0; }
#index .statistics {
    background-image: url("../img/statistics-cLfEfL8.webp");
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
#index .statistics .content { padding: 100px 0; height: 100%; background-color: rgba(0,0,0,0.7); }
#index .statistics .content .statistic { display: flex; flex-direction: column; justify-content: center; align-items: center; color: white; }
#index .statistics .content .statistic span { font-size: 4rem; color: var(--theme-gold-color); }
#index .statistics .content .statistic .number { font-size: 4rem; font-weight: bold; margin: 20px 0; }
#index .contact { padding: 100px 0; }
#index .contact #flashes { margin: 20px 0; }

@media screen AND (min-width: 992px) AND (max-width: 1199px) {
    #index .categories .category { padding: 40px 20px; }
}
@media screen AND (min-width: 992px) {
    #index .contact .content { width: 50%; margin: 0 auto; }
}
@media screen AND (max-width: 991px) {
    #index .about-me .content .image img { width: 200px; height: auto; }
}
@media screen AND (max-width: 767px) {
    #index .about-me .content .image img { width: 150px; height: auto; }
}
@media screen AND (max-width: 575px) {
    #index .about-me .content article { padding: 30px; }
}
@media screen AND (max-width: 450px) {
    #index .about-me .content article { height: auto; }
}
