/* Import Poppins font with all required weights */
@import url("https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap");

/* assets/css/classroom.css */

/* Add these styles at the top of the file, before any other styles */
.spinner4 {
    position: fixed !important;
    width: 35px !important;
    height: 35px !important;
    top: calc(50% - 17.5px) !important;
    left: calc(50% - 17.5px) !important;
    background-color: #ce1f2c !important;
    -webkit-animation: rotateplane 1.2s infinite ease-in-out;
    animation: rotateplane 1.2s infinite ease-in-out;
}

@keyframes rotateplane {
    0% { transform: perspective(120px) rotateX(0deg) rotateY(0deg); }
    50% { transform: perspective(120px) rotateX(-180.1deg) rotateY(0deg); }
    100% { transform: perspective(120px) rotateX(-180deg) rotateY(-179.9deg); }
}

/* Update the loader container */
.fakeLoader {
    position: fixed !important;
    width: 100% !important;
    height: 100% !important;
    left: 0 !important;
    top: 0 !important;
    z-index: 999999 !important;
    background-color: #ffffff !important;
    visibility: visible !important;
}

/* Reset and base styles */
body {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    font-weight: 400;
    color: #242424;
    padding-top: 0;
    visibility: visible;
    overflow-x: hidden;
    width: 100%;
    margin: 0;
}

/* Container styles - matching original site */
.container-fluid {
    padding-left: 45px;
    padding-right: 45px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
    max-width: 1200px; /* For content areas */
}

/* Add this specific override for footer */
footer.section .container-fluid {
    max-width: none;
    width: 100%;
}

/* Navbar styles */
.navbar {
    padding: 10px 0;
    transition: .5s ease-out;
    background: transparent;
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}

.navbar .navbar-brand {
    padding: 15px 0;
}

.navbar .navbar-brand img {
    height: 120px;
    display: block;
}

/* Navigation links */
.navbar .navbar-nav li {
    padding: 0 15px;
}

.navbar .navbar-nav li:last-child {
    padding-right: 0;
}

.navbar .navbar-nav li a {
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    padding: 0;
}

.navbar .navbar-nav li a:hover {
    color: #ee3325;
    text-decoration: none;
    transition: .5s ease-out;
}

/* Fixed navbar state */
.navbar-fixed {
    background: #fff;
    transition: .5s ease-out;
    box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0), 
                0 1px 5px 0 rgba(0, 0, 0, 0.12), 
                0 3px 1px -2px rgba(0, 0, 0, 0);
}

.navbar-fixed .navbar-nav li a {
    color: #222;
}

/* Header title styles - exact match with original */
.header-title {
    background: linear-gradient(rgba(43, 135, 200, 0.9), rgba(43, 135, 200, 0.9)), 
                url("../images/header.jpg");
    background-position: center;
    background-size: cover;
    padding: 220px 0 110px;
    color: #fff;
    margin-top: 0px;
}

.title-section {
    margin-bottom: 0;
}

.title-section h3 {
    color: #fff;
    font-size: 58px;
    font-weight: 700;
    margin-bottom: 5px;
    text-transform: uppercase;
}

.title-section p {
    margin: auto;
    line-height: 30px;
    font-size: 20px;
    font-weight: 500;
}

.title-section p span.line {
    width: 50px;
    height: 3px;
    background: #fff;
    display: inline-block;
    position: relative;
    top: -5px;
    margin-right: 20px;
}

/* Blog grid */

.blog {
    padding: 100px 0 120px;
}

.blog .content {
    border-radius: 6px;
    margin-bottom: 30px;
    box-shadow: 0 12px 30px -15px rgba(0, 0, 0, 0.2);
    background: #fff;
    transition: transform 0.3s ease;
}

.blog .content:hover {
    transform: translateY(-5px);
}

.blog .content img {
    border-radius: 3px 3px 0 0;
    height: 240px;
    width: 100%;
    object-fit: cover;
}

.blog .content-text {
    padding: 30px;
}

.blog .content-text span {
    font-size: 15px;
    color: #777;
    margin-bottom: 15px;
    display: block;
}

.blog .content-text h5 {
    line-height: 30px !important;
    font-size: 20px !important;
    margin-bottom: 9px;
    font-weight: 600;
}

.blog .content-text p {
    margin-bottom: 0;
    line-height: 26px;
}

.blog .content-text a:hover {
    color: #2b87c8;
    transition: .5s ease-out;
}

/* Grid layout adjustments */
.blog .row {
    max-width: 1180px;
    margin-left: -15px;
    margin-right: -15px;
    margin-top: 0;
}

.blog .col-md-6 {
    padding-left: 15px;
    padding-right: 15px;
}

@media (max-width: 767px) {
    .blog .content {
        margin-bottom: 20px;
    }
}

/* Keep the grey background */
.bg-grey {
    background: #f5f3fd;
}

/* Add this */
.blog-single.bg-grey {
    background: #fff;
}

/* Footer styles - exact match */
footer.section {
    text-align: center;
    background: #111;
    color: #bbb;
    padding: 100px 0 120px;
    width: 100vw;
    margin: 0;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

footer p {
    width: 60%;
    margin: auto;
    line-height: 26px;
}

footer ul {
    margin: 40px 0;
    padding: 0;
    display: flex;
    justify-content: center;
    list-style: none;
    width: 100%;
}

footer ul li {
    display: inline-block;
    margin: 0 10px;  /* Increased from 8px to 15px */
}

footer ul li i {
    color: #fff;
    height: 40px;
    width: 40px;
    border-radius: 50%;
    padding-top: 7px;
    border: 2px solid transparent;
}

/* Social media icons */
footer ul li i.fa-x-twitter {
    background: #fff;
    color: #000;
    font-size: 150%;
}

footer ul li i.fa-instagram {
    background: #F56040;
    font-size: 150%;
}

footer ul li i.fa-telegram {
    background: #24A1DE;
    font-size: 150%;
}

footer ul li i.fa-vk {
    background: #0077FF;
    font-size: 150%;
}

footer ul li i.fa-user-alt {
    background: #E72541;
    font-size: 150%;
}

/* Footer logo specific styles */
footer .navbar-brand {
    display: inline-block;
    margin-bottom: 20px;
    margin-left: 40px;
}

footer .navbar-brand img {
    height: 120px;
    display: block;
}

.profi-widget {
  padding-bottom: 50px;
  padding-top: 20px;
}

/* Responsive styles */
@media (max-width: 767px) {
    .container-fluid {
        padding-left: 14px;
        padding-right: 14px;
    }

    .navbar .navbar-nav {
        background: #fff;
        padding: 10px 0;
    }

    .navbar .navbar-nav li {
        padding: 0 32px;
    }

    .navbar .navbar-nav li a {
        color: #222;
    }

    .navbar-fixed .navbar-nav li {
        padding: 0 4px;
    }

    .title-section h3 {
        font-size: 42px;
    }

    footer p {
        width: 80%;
    }
}

@media (min-width: 768px) {
    .col-md-9 {
        flex: 0 0 75%;
        max-width: 75%;
    }
    
    .col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
    }
}

/* Additional blog styles */
.blog .content {
    margin-bottom: 30px;
    box-shadow: 0 12px 30px -15px rgba(0, 0, 0, 0.2);
    background: #fff;
    transition: transform 0.3s ease;
}

.blog .content img {
    border-radius: 3px 3px 0 0;
}

.blog .content-text {
    padding: 30px;
}

.blog .content-text span {
    font-size: 15px;
    color: #777;
    margin-bottom: 15px;
    display: block;
}

.blog .content-text h5 {
    line-height: 30px;
    font-size: 20px;
}

.blog .content-text a:hover {
    color: #2b87c8;
    transition: .5s ease-out;
}

/* Base structure */
html, body {
    overflow-x: hidden;
    width: 100%;
    margin: 0;
    padding: 0;
}

/* Grid structure */
.row {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

.row > [class*="col-"] {
    padding-right: 15px;
    padding-left: 15px;
    width: 100%;
}

/* Navbar alignment */
.navbar .navbar-nav {
    margin-left: auto;
}

.navbar .navbar-collapse {
    justify-content: flex-end;
}

/* Navbar spacing */
.navbar .navbar-nav li {
    padding: 0 11px;  /* Reduce from 15px to 8px */
}

.navbar .navbar-nav li:last-child {
    padding-right: 0;
    margin-right: -8px;
}

/* Column sizes */
@media (min-width: 768px) {
    .col-md-6 {
        flex: 0 0 50%;
        max-width: 50%;
    }
    
    .col-md-4 {
        flex: 0 0 33.333333%;
        max-width: 33.333333%;
    }
    
    .col-md-8 {
        flex: 0 0 66.666667%;
        max-width: 66.666667%;
    }
}

/* Blog sections */
.blog {
    padding: 80px 0 120px;
}

.blog.blog-single {
    padding: 100px 0 0;
}

.bg-grey {
    background: #f5f3fd;
}

/* Responsive adjustments */
@media (max-width: 991px) {
    .blog .row {
        max-width: 960px;
    }
}

@media (max-width: 767px) {
    .container-fluid {
        padding-left: 14px;
        padding-right: 14px;
    }
    
    .blog .row {
        max-width: 720px;
    }
}

/* Mobile view fixes */
@media (max-width: 767px) {
    body {
        padding-top: 80px; /* Adjust based on your navbar height */
    }

    .navbar {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        z-index: 9999;
        background: #fff;
    }

    .header-title {
        padding-top: 120px; /* Adjust based on your needs */
    }

    .search-section {
        position: relative;
        z-index: 1;
        padding: 15px;
        background: #f5f3fd;
        margin-top: 0;
    }

    .search-section .input-group {
        position: relative;
        margin-top: 0;
        width: 100%;
        flex-wrap: nowrap; /* Prevent wrapping on mobile */
    }

    .search-section input {
        height: 52px;
        position: relative;
        z-index: 100;
        width: 100%;
        background: #fff;
    }

    .blog.section {
        padding-top: 30px;
    }
}

/* Index Sidebar */

.sidebar-filters {
    background: #fff;
    padding: 30px;
    border-radius: 6px;
    margin-bottom: 30px;
    box-shadow: 0 12px 30px -15px rgba(0, 0, 0, 0.2);
}

.sidebar-filters h5 {
    border-bottom: 2px solid #ddd;
    padding-bottom: 14px;
    margin-bottom: 22px;
    font-weight: 600;
}

.level-filters, .category-filters {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.btn-filter {
    text-align: left;
    padding: 8px 15px;
    border: none;
    border-radius: 4px;
    transition: all 0.3s ease;
}

.btn-filter.active {
    background-color: #fbac18;
    color: white;
}

.btn-filter:hover:not(.active) {
    background-color: #f5f3fd;
}

/* Level badges */
.badge-primary {
    background: #2b87c8;
    color: #fff;
}

/* Search Bar */
.search-section {
    padding: 0;
}

.search-section .input-group {
    display: flex;
    gap: 10px;
    align-items: center;
}

.search-section input,
.search-section .input-group-append .input-group-text {
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

.search-section input {
    flex: 1;
    height: 52px;
    border: 2px solid #ddd;
    padding: 15px 20px;
    color: #666;
    border-radius: 2px !important;
    border-right: 2px solid #ddd;  /* Changed from none to match design */
}

.search-section .input-group-append {
    margin-left: 0;
    cursor: pointer;
}

.search-section .input-group-append .input-group-text {
    background: #ce1f2c;
    border: none;
    color: #fff;
    height: 52px;
    width: 52px;
    font-size: 22px;
    line-height: 26px;
    border-radius: 2px !important;
    display: flex;
    align-items: center;
    justify-content: center;
}overflow-x

/* Subtle border radius */
.blog .content,
.card,
.search-section input,
.search-section .input-group-append .input-group-text,
.sidebar-filters,
.btn,
.btn-filter,
.badge,
.input-group-text,
form input,
form textarea {
    border-radius: 2px !important;
}

.blog .content img {
    border-radius: 2px 2px 0 0 !important;
}

.search-section input {
    border-radius: 2px 0 0 2px !important;
}

.search-section .input-group-append .input-group-text {
    border-radius: 0 3px 2px 0 !important;
}

.search-section input:focus {
    outline: none;
    border-color: #ce1f2c;
    box-shadow: 0 0 0 0px #ce1f2c;
}

/* Grid fixes */
.blog .row > .col-md-8,
.blog .row > .col-md-4 {
    margin-top: 0;
    padding-top: 0;
}

.blog.section {
    padding: 60px 0 120px;  /* Reduced top padding */
}

.blog .row {
    margin-top: 0;  /* Reset any top margin */
}

.blog.section.bg-grey {
    padding-top: 60px;  /* Reduce space after header */
}

.blog .container-fluid > .search-section {
    margin-bottom: 40px;  /* Space between search and content */
}

/* Reset other margins that might interfere */
.blog .container-fluid > .row {
    margin-top: 0;
}

.search-section {
    position: relative;
    z-index: 1;
}

.card .btn {
    background: #ce1f2c;
    padding: 12px 30px;
    font-weight: 500;
    font-size: 15px;
    color: #fff;
    letter-spacing: 1px;
    border: 0;
}

/* Button */
.card .btn:hover {
    color: #fff;
    background: #fbac18;
    transition: .5s ease-out;
}

.hbtn {
    position: relative;
    box-sizing: border-box;
    display: inline-block;
    overflow: hidden;
    padding: 8px 20px;
    margin: 0px;
    text-align: center;
    border: 2px solid rgb(255, 255, 255);
    text-decoration: none;
    color: rgb(255, 255, 255);
    white-space: nowrap;
    z-index: 0;
} 

.hbtn i {
    padding-right: 8px;
} 

.hb-fill-right::before {
    position: absolute;
    content: "";
    background: #fbac18;
    transition-duration: 0.3s;
    z-index: -1;
    inset: 0px auto auto 0px;
    width: 0px;
    height: 100%;
    opacity: 1;
}

.hb-fill-right:hover::before {
    width: 100%;
    height: 100%;
    opacity: 1;
}

.hb-fill-right:hover {
    color: rgb(0, 0, 0);
    background: transparent;
    transition: all 0.3s ease 0s;
}

.card .button {
    background: #ce1f2c;
    padding: 12px 30px;
    font-weight: 500;
    font-size: 15px;
    border-radius: 2px;
    color: #fff;
    letter-spacing: 1px;
    margin-top: 22px;
    display: inline-block;
    border: 0;
    font-family: 'Poppins', sans-serif;
    text-decoration: none;
}

.card .button.hb-fill-right:before {
    background: #fbac18 !important;
    color: #fff !important;
}

.card .button:hover {
    color: #fff;
}

#loadMoreContainer .button {
    background: #ce1f2c;
    padding: 12px 30px;
    font-weight: 500;
    font-size: 15px;
    border-radius: 2px;
    color: #fff;
    letter-spacing: 1px;
    border: 0;
    font-family: 'Poppins', sans-serif;
    text-decoration: none;
    display: inline-block;
}

#loadMoreContainer .button.hb-fill-right:before {
    background: #fbac18 !important;
    color: #fff !important;
}

#loadMoreContainer .button:hover {
    color: #fff;
}

#loadMoreContainer {
    margin-top: 50px !important;
}

.search-section .input-group-append {
    cursor: pointer;
}

.search-section .input-group-append .input-group-text i {
    transition: all 0.3s ease;
}

.blog .col-md-4 .search .btn.btn-primary:hover {
    background: #fbac18;
}



.blog .col-md-4 .search .form-control:focus {
    border-color: #ce1f2c;
    box-shadow: none;
}

/* Search form styling */
.blog .col-md-4 .search form {
    display: flex !important;
    gap: 10px !important;
    position: relative;
}

.blog .col-md-4 .search input {
    width: calc(100% - 62px) !important;
    height: 52px !important;
    border: 2px solid #ddd !important;
    padding: 15px 20px !important;
    color: #666 !important;
    border-radius: 2px !important;
}

.blog .col-md-4 .search .btn {
    width: 52px !important;
    height: 52px !important;
    background: #ce1f2c !important;
    border: none !important;
    border-radius: 2px !important;
    padding: 0 !important;
}

.blog .col-md-4 .search .btn:hover {
    background: #fbac18 !important;
}

.search form {
    position: relative;
}

.search input {
    width: 100%;
    height: 52px;
    border: 2px solid #ddd;
    padding: 10px 50px 10px 15px;
    border-radius: 2px;
    color: #666;
}

.search input:focus {
    outline: none;
    border-color: #ce1f2c;
    box-shadow: none;
}

.search button {
    position: absolute;
    right: 0;
    top: 0;
    height: 52px;
    width: 52px;
    background: #ce1f2c;
    border: none;
    color: white;
    border-radius: 0 2px 2px 0;
    transition: background 0.3s ease;
}

.search button:hover {
    background: #fbac18;
}

.mb-0 {
    margin-bottom: 0 !important;
}

/* Fix for footer gap */
/* Add these at the bottom of classroom.css */

body {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}

/* Footer gap fix */
.no-gap {
    padding-bottom: 0 !important;
}

.no-gap .container-fluid {
    padding-bottom: 0px;
}

.blog.blog-single.section.no-gap + footer.section {
    margin-top: 0;
}

.lesson-metadata .badge-light {
    background: transparent;
    color: #333;  /* Or any color you prefer for the text */
    padding-left: 0;  /* Remove left padding since background is gone */
}

/* Keep level and category badges unchanged */
.lesson-metadata .badge-primary,
.lesson-metadata .badge-secondary {
    padding: 0.5rem 1rem;  /* Keep original padding */
}

.blog-single .col-md-4 {
    margin-top: 270px;  /* This value might need adjustment based on your header heights */
}

/* Make sure sidebar search still works properly */
.blog-single .search {
    position: relative;
    z-index: 1;
}

/* Add this to your CSS file */
.blog.blog-single .row > .col-md-4,
.blog.blog-single .row > aside {  /* In case sidebar is in an aside tag */
    padding-top: 64px;  /* Adjust this value as needed */
}

.comment-form button {
    background: #ce1f2c;
    padding: 12px 30px;
    font-weight: 500;
    font-size: 15px;
    border-radius: 2px;
    color: #fff;
    letter-spacing: 1px;
    border: 0;
    font-family: 'Poppins', sans-serif;
    text-decoration: none;
    display: inline-block;
    margin-top: 0;
}

.comment-form button.hb-fill-right:before {
    background: #fbac18 !important;
    color: #fff !important;
}

.comment-form button:hover {
    color: #fff;
}

.table-of-contents-wrapper {
    padding-left: 20px;
}

.toc-content-wrapper {
    padding-left: 15px;
}

/* Comments section styling */
.comments-section {
    background: #fff;  /* This is the gray color */
    padding: 0;
    margin-top: 35px;
    border-top: 2px solid #ddd;
}

.comments-section h4 {
    margin: 30px 0 25px;
    font-size: 24px;
    color: #111;
}

.comments-section h5 {
    margin: 25px 0;
    font-size: 20px;
    color: #111;
}

/* Comment form styling */
#comment-form {
    margin-top: 30px;
    background-color: #fff; /* Add this line */
    padding-top: 20px; /* Add padding if you want space around the form */
}

#comment-form input {
    border: 2px solid #ddd;
    padding: 15px 20px;
    margin-bottom: 30px;
    width: 100%;
    color: #aaa;
    border-radius: 2px;
    height: 42px;  /* Add this line */
}

#comment-form textarea {
    border: 2px solid #ddd;
    padding: 15px 20px;
    margin-bottom: 30px;
    width: 100%;
    color: #aaa;
    border-radius: 2px;
    height: 250px;  /* Increase from default */
    min-height: 150px;
}

#comment-form input:focus,
#comment-form textarea:focus,
.reply-form input:focus,
.reply-form textarea:focus {
    outline: none;  /* Removes blue outline */
    border-color: #ce1f2c;  /* Keeps red border */
    box-shadow: none;  /* Removes any box shadow */
}

/* Lighter color for placeholder */
#comment-form input::placeholder,
#comment-form textarea::placeholder {
    color: #aaa;  /* Light color for placeholder */
}

/* Darker color for input text */
#comment-form input,
#comment-form textarea {
    color: #666;  /* Darker color for typed text */
}

#comment-form button {
    background: #ce1f2c;
    padding: 12px 30px;
    font-weight: 500;
    font-size: 15px;
    border-radius: 2px;
    color: #fff;
    letter-spacing: 1px;
    border: 0;
    margin-top: 0;
}

#comment-form button:hover {
    background: #fbac18;
}

/* Comments list styling */
#comments-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.comment-box {
    background-color: #f0f0f0;
    border: 0px solid #ddd;
    padding: 15px;
    margin-bottom: 10px;
    border-radius: 0px;
}

.comment-box strong {
    color: #111;
    font-weight: 600;
}

.timestamp,
.reply-box .timestamp {
    font-size: 0.6em;
    color: #888;
    background-color: transparent;
    text-align: right;
    margin-top: 5px;
}

.comment-box .timestamp {
    font-size: 0.6em;
}

/* Reply section styling */
.reply-item {
    padding: 2px;
    border: 0px solid #ddd;
    margin-left: 40px;
}

.reply-box {
    margin-bottom: 6px;
    padding: 10px;
    border: 0px solid #ddd;
    border-radius: 0px;
    background-color: #f8f8f8;
}

.reply-link {
    cursor: pointer;
    margin-left: 10px;
    font-size: 0.9rem;
    background: #2b87c8;
    color: #fff;
    padding: 0.2rem 1rem;
    border-radius: 2px;
    text-decoration: none;
}

.reply-link:hover {
    background: #fbac18;
    color: #fff;
}

.reply-form {
    margin-top: 10px;
    display: none;
    background-color: #fff /* Add this line */
    padding: 20px; /* Add padding if you want space around the form */
}

.reply-form input,
.reply-form textarea {
    display: block;
    width: 100%;
    margin-bottom: 10px;
    padding: 10px;
    border: 2px solid #ddd;
    border-radius: 0px;
}

.reply-form button {
    background: #ce1f2c;
    padding: 8px 16px;
    font-weight: 500;
    font-size: 15px;
    border-radius: 2px;
    color: #fff;
    letter-spacing: 1px;
    border: 0;
    margin-top: 0;
}

.reply-form button:hover {
    background: #fbac18;
    color: #fff;
}

.reply-form button.hb-fill-right:before {
    background: #fbac18 !important;
    color: #fff !important;
}

.reply-list {
    list-style: none;
    padding-left: 0;
}

.no-comments {
    font-family: 'Poppins', sans-serif;
    font-size: 15px;
    color: #666;
}

/* Placeholder text color */
::placeholder {
    color: #aaa;
    opacity: 1;
}


::-ms-input-placeholder {
    color: #aaa;
}

.btn:focus {
    outline: none;
    box-shadow: none;
}

.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active,
.btn-outline-primary.focus {
    outline: 0 !important;
    box-shadow: none !important;
    border-color: transparent !important;
    background: transparent !important;
    color: #ce1f2c !important;
}

.btn-outline-secondary:focus,
.btn-outline-secondary:active,
.btn-outline-secondary.active,
.btn-outline-secondary.focus {
    outline: 0 !important;
    box-shadow: none !important;
    border-color: transparent !important;
    background: transparent !important;
    color: #ce1f2c !important;
}


/* Override Bootstrap's default focus styles for all buttons */
.btn.focus, 
.btn:focus {
    outline: 0 !important;
    box-shadow: none !important;
}

html {
    scroll-padding-top: 100px; /* Adjust this value based on your navbar height */
}

/* For browsers that don't support scroll-padding */
h2 {
    padding-top: 100px;
    margin-top: -100px;
}

/* Lesson page sidebar link hover effects */
.sidebar-link ul li a {
    color: #333;
    text-decoration: none;
    transition: color 0.3s ease;
}

.sidebar-link ul li a:hover {
    color: #ce1f2c;
}

/* Add some subtle padding for better visual feedback */
.sidebar-link ul li {
    margin-bottom: 15px;
    padding: 2px 0;
}

/* Post Elements */
.download-btn {
    display: inline-block;
    padding: 10px 20px;
    background-color: #ee3325;
    color: white;
    text-decoration: none;
    border-radius: 5px;
    font-weight: 500;
    margin: 20px 0;
    transition: background-color 0.3s ease;
}

.download-btn:hover {
    background-color: #fbac18;
    color: white;
    text-decoration: none; /* Prevents underline on hover */
}

blockquote {
  margin-left: 2em;
  border-left: none;
}

/* Add to classroom.css */

/* Features Section */
.features {
    padding: 100px 0 60px;
}

.features .container-fluid {
    max-width: 95%;
    margin: 0 auto;
    padding: 0 30px;
}

.features .row {
    margin: 0 -15px;
}

.features .col-md-4 {
    padding: 0 15px;
}

.features .content {
    min-height: 500px;
    margin-bottom: 30px;
    padding: 30px;
}

.features .content i {
    font-size: 30px;
    color: #fff;
    margin-top: 16px;
}

.features .content h1 {
    font-size: 28px;
    color: #111;
}

.features .content .icon {
    float: left;
    margin-right: 10px;
    text-align: center;
    width: 65px;
    height: 65px;
    background: #2b87c8;
    border-radius: 5px;
    line-height: 65px;
}

.features .content-text {
    overflow: hidden;
    padding: 20px;
}

.features .container .row {
    --column-gap: 60px;
    margin-right: calc(-1 * var(--column-gap) / 2);
    margin-left: calc(-1 * var(--column-gap) / 2);
}

.features .container .row > .col {
    padding-right: calc(var(--column-gap) / 2);
    padding-left: calc(var(--column-gap) / 2);
}

.features .container {
    max-width: 1180px;
    margin: 0 auto;
    padding: 0 45px;
}

.features .container-fluid {
    max-width: 95%;
}

/* Word tools specific styles */
.word-container, .phrase-container, .lookup-container {
    padding: 30px 0;
}

.search-box {
    margin-bottom: 20px;
}

.search-box input {
    width: 100%;
    padding: 12px;
    margin-bottom: 40px;
    border: 2px solid #ddd;
    border-radius: 4px;
    font-size: 16px;
    color: #333;
}

.search-box button {
    background: #ce1f2c;
    color: #fff;
    border: none;
    padding: 12px 30px;
    font-weight: 500;
    border-radius: 2px;
}

.search-box button:hover {
    background: #fbac18;
}

.main-word {
    font-size: 32px;
    font-weight: bold;
    color: #111;
}

.main-phrase {
    font-size: 32px;
    font-weight: bold;
    color: #111;
}

.play-button {
    background-color: #2b87c8;
    color: white;
    border: none;
    padding: 5px 10px;
    border-radius: 4px;
    cursor: pointer;
    margin-left: 10px;
    margin-top: 12px;
    margin-bottom: 12px;
}

.play-button:hover {
    background: #fbac18;
}

@media (max-width: 767px) {
    .features .col-md-8,
    .features .col-md-4 {
        margin-bottom: 30px;
        padding: 0 15px;
    }
    
    .features .container .row {
        --column-gap: 30px;
    }
    
    .features .col-md-4 {
        margin-top: 40px;
    }
}

.title-section-voc {
    margin-bottom: 0;
}

.title-section-voc h3 {
    color: #111;
    font-size: 58px;
    font-weight: 700;
    margin-bottom: 60px;
    text-transform: uppercase;
}

.title-section-voc p {
    margin: auto;
    line-height: 30px;
    font-size: 20px;
    font-weight: 500;
}

.title-section-voc p span.line {
    width: 50px;
    height: 3px;
    background: #fff;
    display: inline-block;
    position: relative;
    top: -5px;
    margin-right: 20px;
}

.meaning, .examples {
    margin: 20px 0;
}

.meaning h3, .examples h3, .definitions h3 {
    color: #2c3e50;
    font-size: 18px;
    margin-bottom: 10px;
}

.meaning p {
    color: #333;
    line-height: 1.5;
}

.examples ul {
    margin: 0;
    padding-left: 20px;
}

.examples li {
    color: #34495e;
    font-style: italic;
    margin-bottom: 12px;
    line-height: 1.5;
}

/* Word tool buttons styling */
.features .button,
.features .search-box button {
    background: #ce1f2c;
    padding: 12px 30px;
    font-weight: 500;
    font-size: 15px;
    border-radius: 2px;
    color: #fff;
    letter-spacing: 1px;
    border: 0;
    position: relative;
    overflow: hidden;
    display: inline-block;
    z-index: 0;
}

.features .button:before,
.features .search-box button:before {
    position: absolute;
    content: "";
    background: #fbac18;
    transition-duration: 0.3s;
    z-index: -1;
    inset: 0px auto auto 0px;
    width: 0px;
    height: 100%;
    opacity: 1;
}

.features .button:hover:before,
.features .search-box button:hover:before {
    background: #fbac18;
    width: 100%;
    height: 100%;
    opacity: 1;
}

.features .button:hover,
.features .search-box button:hover {
    color: #fff;
}

.features .play-button {
    padding: 8px 16px;
    margin-left: 10px;
}

/* Cookie Banner */
.cookie-banner {
    max-width: 24rem;
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    z-index: 9999;
}

.cookie-content {
    position: relative;
    padding: 1.5rem;
    text-align: center;
    border-radius: 1.5rem;
    border: 1px solid rgb(220, 240, 255);
    background-color: rgba(220, 240, 255, 1);
    box-shadow: rgba(17, 17, 26, 0.1) 0px 0px 16px;
}

.cookie-icon {
    height: 3.5rem;
    width: 3.5rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 9999px;
    border: 1px solid rgb(17, 24, 39);
    background-color: rgb(17, 24, 39);
    color: white;
}

.cookie-icon i {
    font-size: 2.25rem;    /* Adjust from 4xl (2.25rem) */
}

.cookie-text {
    font-size: 1rem;
    font-weight: 500;
    color: rgb(107, 114, 128);
    margin: 1.75rem 0;
}

.accept-button {
    padding: 0.5rem 1.5rem;
    border-radius: 0.375rem;
    font-size: 1rem;
    font-weight: 500;
    color: white;
    background-color: rgb(55, 65, 81);
    border: none;
    cursor: pointer;
    transition: all 500ms;
}

.accept-button:hover {
    background-color: rgb(3, 7, 18);
}

/* Grammar Quest Styles */
.grammar-quest {
    padding: 120px 0; /* Adds padding above and below the entire section */
    background: #f5f3fd; /* Matches .bg-grey from Lessons section */
}

.game-container {
    padding: 2rem;
    background: #fff;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    margin-top: 40px; /* Adds space above the game container */
}

.story-text {
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
    min-height: 60px;
}

.options button {
    margin: 0.5rem;
    padding: 0.5rem 1rem;
    font-size: 1rem;
    border: 1px solid #ce1f2c;
    border-radius: 4px;
    background: white;
    cursor: pointer;
    transition: all 0.3s ease;
}

.options button:hover {
    background: #fbac18;
    color: white;
}

.feedback {
    margin-top: 1rem;
    margin-bottom: 1.5rem; /* Space between feedback and Next button */
    font-style: italic;
    color: #555;
    min-height: 20px;
}

.challenge-header {
    font-size: 1.8rem; /* Bigger than story-text (1.2rem) */
    font-weight: bold;
    color: #dc3545; /* Red to match challenge theme */
    margin-bottom: 1rem; /* Space below the header */
    display: none; /* Hidden by default */
}

.grammar-quest .title-section-voc h3 {
    margin-bottom: 20px; /* Reduced from 60px to 20px */
}

.grammar-quest .title-section-voc p span.line {
    width: 50px;
    height: 3px;
    background: #ce1f2c;
    display: inline-block;
    position: relative;
    top: -5px;
    margin-right: 20px;
}

#next-button {
    background: #ce1f2c;
    color: #fff;
    border: 0;
    padding: 12px 30px;
    font-weight: 500;
    font-size: 15px;
    border-radius: 2px;
}
#next-button.hb-fill-right::before {
    background: #fbac18;
}
#next-button:hover {
    color: #fff;
}