 @import url('https://fonts.googleapis.com/css?family=Anton');
 @import url('https://fonts.googleapis.com/css?family=Cutive');

 body {
     padding-top: 70px;
 }

 ::-webkit-scrollbar {
     width: 10px;
 }

 ::-webkit-scrollbar-thumb {
     background-color: #CCCCFF;
     border-radius: 10px;
 }

 ::-webkit-scrollbar-track {
     background-color: #f0f0f0;
 }

 .custom-navbar {
     background-color: #CCCCFF;
     border-bottom: 2px solid #8C52FF;
 }

 .nav-link {
     position: relative;
     text-decoration: none;
     color: #8C52FF;
     font-size: clamp(1rem, 1.2vw + 0.4rem, 1.2rem);
 }

 .nav-link::after {
     content: "";
     position: absolute;
     width: 100%;
     height: 2px;
     bottom: 0;
     left: 0;
     background-color: black;
     transform: scaleX(0);
     transform-origin: bottom right;
     transition: transform 0.3s ease-out;
 }

 .nav-link:hover::after,
 .nav-link.active::after {
     transform: scaleX(1);
     transform-origin: bottom left;
 }

 .navbar-toggler,
 .navbar-toggler:focus {
     outline: none !important;
     box-shadow: none !important;
     border: none !important;
 }

 .title {
     color: #8C52FF;
 }

 #schedule {
     margin-bottom: 4rem;
 }

 #quote {
     margin-bottom: 4rem;
     display: flex;
     justify-content: center;
     align-items: center;
     flex-direction: column;
     min-height: 80vh;
     padding: 5rem 1rem;
     background-color: #fff;
 }

 .featuredBox {
     margin-bottom: 2rem;
     -webkit-backface-visibility: hidden;
     backface-visibility: hidden;
     background-color: #fff;
     text-decoration: none;
     width: 100%;
     height: auto;
 }

 .featuredBox:hover img {
     -webkit-transform: scale(1.1);
     transform: scale(1.08);
 }

 .featured-img {
     display: block;
     overflow: hidden;
     width: 100%;
     height: 500px;
 }

 .featured-img img {
     transition: all 1s;
     width: 100%;
     height: 100%;
     object-fit: cover;
 }

 .featured-content {
     padding: 0.75rem 1rem 1rem 1rem;
 }

 .featuredBox a {
     text-decoration: none;
     color: inherit;
 }

 .w-title {
     font-size: 1.2rem;
     display: block !important;
     opacity: 1 !important;
     visibility: visible !important;
     color: #000;
 }

 .w-desc {
     color: #8C52FF;
 }

 .title {
     font-size: 2rem;
     font-weight: bold;
     text-transform: uppercase;
 }

 .subtitle {
     font-size: 1.1rem;
     font-style: italic;
     color: #555555;
 }

 .blockquote-container {
     display: flex;
     gap: 3rem;
     flex-wrap: wrap;
     margin: 0 auto;
 }

 .blockquote-container blockquote {
     flex: 1 1 40%;
     max-width: 400px;
     min-width: 280px;
     margin: 2rem 0;
     box-sizing: border-box;
     position: relative;
     padding-left: 60px;
     font-family: 'Cutive', serif;
     font-size: 18px;
     line-height: 1.8;
     hyphens: auto;
     text-align: justify;
 }

 .blockquote-container blockquote p:first-child:first-letter {
     float: left;
     font-family: 'Anton', sans-serif;
     font-size: 250px;
     line-height: 1;
     margin: -60px 10px 0 0;
     color: crimson;
     position: relative;
     z-index: 10;
 }

 blockquote cite {
     display: block;
     text-align: right;
     font-size: 15px;
     margin-top: 1rem;
     font-style: normal;
     color: #555;
 }

 @media (max-width: 768px) {
     .blockquote-container blockquote {
         flex: 1 1 100%;
         max-width: 100%;
         margin: 2rem 0;
         padding-left: 40px;
     }

     .blockquote-container blockquote p:first-child:first-letter {
         font-size: 180px;
         margin: -40px 10px 0 0;
     }

     blockquote cite {
         font-size: 12px;
     }
 }

 @media (max-width: 576px) {
     .blockquote-container blockquote {
         flex: 1 1 100%;
         font-size: 0.8rem;
         max-width: 100%;
         margin: 1rem 0;
         padding: 1rem 1.25rem;
         line-height: 1.4;
     }

     .blockquote-container blockquote p:first-child:first-letter {
         font-size: 2.5rem;
         font-weight: bold;
         float: left;
         margin: 0 0.5rem 0 0;
         line-height: 1;
     }

     blockquote cite {
         font-size: 10px;
     }
 }

 @media (max-width: 768px) {
     .featuredBox {
         margin-bottom: 1.5rem;
     }

     .featured-img {
         height: 400px;
     }

     .featured-content {
         padding: 0.5rem 0.75rem;
     }
 }

 @media (max-width: 576px) {
     .featuredBox {
         margin-bottom: 1rem;
     }

     .featured-img {
         height: 300px;
     }

     .featured-content {
         padding: 0.5rem;
     }
 }